Add support for Login and User management (#21981)

* initial commit

* leave only march release objects

* clean up

* login dialog

* localize and use background operation

* code cleanup

* remove tab

* support server role in login

* remove canEditName

* add user support

* comments and bug fixes

* remove hasDBAccess for now

* refactoring

* fix error

* user dialog UI

* telemetry, error handling and refactoring

* Fix references to dialogInfo (#21914)

* update telemetry

* Bump STS and use actual object management service

* add preview and handle no-change scenario

* fix merge issue

---------

Co-authored-by: Karl Burtram <karlb@microsoft.com>
This commit is contained in:
Alan Ren
2023-02-17 18:02:31 -08:00
committed by GitHub
parent 6231df85e0
commit b5ce7af090
16 changed files with 2169 additions and 13 deletions

View File

@@ -67,6 +67,26 @@
"category": "MSSQL",
"title": "%title.designTable%"
},
{
"command": "mssql.newLogin",
"category": "MSSQL",
"title": "%title.newLogin%"
},
{
"command": "mssql.newUser",
"category": "MSSQL",
"title": "%title.newUser%"
},
{
"command": "mssql.objectProperties",
"category": "MSSQL",
"title": "%title.objectProperties%"
},
{
"command": "mssql.deleteObject",
"category": "MSSQL",
"title": "%title.deleteObject%"
},
{
"command": "mssql.enableGroupBySchema",
"category": "MSSQL",
@@ -221,12 +241,12 @@
],
"enumDescriptions": [
"%mssql.executionPlan.expensiveOperationMetric.off%",
"%mssql.executionPlan.expensiveOperationMetric.actualElapsedTime%",
"%mssql.executionPlan.expensiveOperationMetric.actualElapsedCpuTime%",
"%mssql.executionPlan.cost%",
"%mssql.executionPlan.subtreeCost%",
"%mssql.executionPlan.actualNumberOfRowsForAllExecutions%",
"%mssql.executionPlan.numberOfRowsRead%"
"%mssql.executionPlan.expensiveOperationMetric.actualElapsedTime%",
"%mssql.executionPlan.expensiveOperationMetric.actualElapsedCpuTime%",
"%mssql.executionPlan.cost%",
"%mssql.executionPlan.subtreeCost%",
"%mssql.executionPlan.actualNumberOfRowsForAllExecutions%",
"%mssql.executionPlan.numberOfRowsRead%"
]
},
"mssql.query.rowCount": {
@@ -391,6 +411,34 @@
{
"command": "mssql.designTable",
"when": "false"
},
{
"command": "mssql.newServerRole",
"when": "false"
},
{
"command": "mssql.newLogin",
"when": "false"
},
{
"command": "mssql.newDatabaseRole",
"when": "false"
},
{
"command": "mssql.newUser",
"when": "false"
},
{
"command": "mssql.newApplicationRole",
"when": "false"
},
{
"command": "mssql.objectProperties",
"when": "false"
},
{
"command": "mssql.deleteObject",
"when": "false"
}
],
"objectExplorer/item/context": [
@@ -404,6 +452,26 @@
"when": "connectionProvider == MSSQL && nodeType == Folder && objectType == Tables",
"group": "0_query@1"
},
{
"command": "mssql.newLogin",
"when": "connectionProvider == MSSQL && nodeType == Folder && objectType == ServerLevelLogins && config.workbench.enablePreviewFeatures",
"group": "0_query@1"
},
{
"command": "mssql.newUser",
"when": "connectionProvider == MSSQL && nodeType == Folder && objectType == Users && config.workbench.enablePreviewFeatures",
"group": "0_query@1"
},
{
"command": "mssql.objectProperties",
"when": "connectionProvider == MSSQL && nodeType =~ /^(ServerLevelLogin|User)$/ && config.workbench.enablePreviewFeatures",
"group": "0_query@1"
},
{
"command": "mssql.deleteObject",
"when": "connectionProvider == MSSQL && nodeType =~ /^(ServerLevelLogin|User)$/ && config.workbench.enablePreviewFeatures",
"group": "0_query@2"
},
{
"command": "mssql.enableGroupBySchema",
"when": "connectionProvider == MSSQL && nodeType && nodeType =~ /^(Server|Database)$/ && !config.mssql.objectExplorer.groupBySchema"
@@ -424,6 +492,26 @@
"when": "connectionProvider == MSSQL && nodeType == Folder && objectType == Tables",
"group": "connection@1"
},
{
"command": "mssql.newLogin",
"when": "connectionProvider == MSSQL && nodeType == Folder && objectType == ServerLevelLogins && config.workbench.enablePreviewFeatures",
"group": "connection@1"
},
{
"command": "mssql.newUser",
"when": "connectionProvider == MSSQL && nodeType == Folder && objectType == Users && config.workbench.enablePreviewFeatures",
"group": "connection@1"
},
{
"command": "mssql.objectProperties",
"when": "connectionProvider == MSSQL && nodeType =~ /^(ServerLevelLogin|User)$/ && config.workbench.enablePreviewFeatures",
"group": "connection@1"
},
{
"command": "mssql.deleteObject",
"when": "connectionProvider == MSSQL && nodeType =~ /^(ServerLevelLogin|User)$/ && config.workbench.enablePreviewFeatures",
"group": "connection@2"
},
{
"command": "mssql.enableGroupBySchema",
"when": "connectionProvider == MSSQL && nodeType && nodeType =~ /^(Server|Database)$/ && !config.mssql.objectExplorer.groupBySchema"
@@ -901,7 +989,9 @@
"showOnConnectionDialog": true,
"onSelectionChange": [
{
"values": ["strict"],
"values": [
"strict"
],
"dependentOptionActions": [
{
"optionName": "trustServerCertificate",