Login handlers: address comments and fix dispose (#1870)

This commit is contained in:
Hai Cao
2023-02-17 14:24:34 -08:00
committed by GitHub
parent 7ffc85d7fc
commit b3ae394fa6
3 changed files with 9 additions and 10 deletions

View File

@@ -6,14 +6,13 @@
#nullable disable #nullable disable
using Microsoft.SqlTools.Hosting.Protocol.Contracts; using Microsoft.SqlTools.Hosting.Protocol.Contracts;
using Microsoft.SqlTools.Utility;
namespace Microsoft.SqlTools.ServiceLayer.Security.Contracts namespace Microsoft.SqlTools.ServiceLayer.Security.Contracts
{ {
/// <summary> /// <summary>
/// Create Login parameters /// Create Login parameters
/// </summary> /// </summary>
public class CreateLoginParams : GeneralRequestDetails public class CreateLoginParams
{ {
public string ContextId { get; set; } public string ContextId { get; set; }
@@ -36,7 +35,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Security.Contracts
/// <summary> /// <summary>
/// Delete Login params /// Delete Login params
/// </summary> /// </summary>
public class DeleteLoginParams : GeneralRequestDetails public class DeleteLoginParams
{ {
public string ConnectionUri { get; set; } public string ConnectionUri { get; set; }
@@ -59,7 +58,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Security.Contracts
/// <summary> /// <summary>
/// Update Login params /// Update Login params
/// </summary> /// </summary>
public class UpdateLoginParams : GeneralRequestDetails public class UpdateLoginParams
{ {
public string ContextId { get; set; } public string ContextId { get; set; }
@@ -83,7 +82,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Security.Contracts
/// <summary> /// <summary>
/// Update Login params /// Update Login params
/// </summary> /// </summary>
public class DisposeLoginViewRequestParams : GeneralRequestDetails public class DisposeLoginViewRequestParams
{ {
public string ContextId { get; set; } public string ContextId { get; set; }
} }
@@ -105,7 +104,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Security.Contracts
/// Initialize Login View Request params /// Initialize Login View Request params
/// </summary> /// </summary>
public class InitializeLoginViewRequestParams : GeneralRequestDetails public class InitializeLoginViewRequestParams
{ {
public string ConnectionUri { get; set; } public string ConnectionUri { get; set; }
public string ContextId { get; set; } public string ContextId { get; set; }

View File

@@ -914,7 +914,7 @@ INNER JOIN sys.sql_logins AS sql_logins
private Microsoft.SqlServer.Management.Smo.Server server; private Microsoft.SqlServer.Management.Smo.Server server;
private static string defaultLanguageDisplay; private static string defaultLanguageDisplay;
private bool windowsAuthSupported = true; private bool windowsAuthSupported = true;
private bool aADAuthSupported = false; private bool aadAuthSupported = false;
private StringCollection credentials = null; private StringCollection credentials = null;
#endregion #endregion
@@ -1067,10 +1067,10 @@ INNER JOIN sys.sql_logins AS sql_logins
{ {
if (this.server.ServerType == DatabaseEngineType.SqlAzureDatabase) if (this.server.ServerType == DatabaseEngineType.SqlAzureDatabase)
{ {
this.aADAuthSupported = true; this.aadAuthSupported = true;
} }
return this.aADAuthSupported; return this.aadAuthSupported;
} }
} }

View File

@@ -251,6 +251,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Security
CDataContainer dataContainer = CDataContainer.CreateDataContainer(connInfo, databaseExists: true); CDataContainer dataContainer = CDataContainer.CreateDataContainer(connInfo, databaseExists: true);
LoginViewInfo loginViewInfo = new LoginViewInfo(); LoginViewInfo loginViewInfo = new LoginViewInfo();
// TODO cache databases and languages
string[] databases = new string[dataContainer.Server.Databases.Count]; string[] databases = new string[dataContainer.Server.Databases.Count];
for (int i = 0; i < dataContainer.Server.Databases.Count; i++) for (int i = 0; i < dataContainer.Server.Databases.Count; i++)
{ {
@@ -327,7 +328,6 @@ namespace Microsoft.SqlTools.ServiceLayer.Security
internal async Task HandleDisposeLoginViewRequest(DisposeLoginViewRequestParams parameters, RequestContext<object> requestContext) internal async Task HandleDisposeLoginViewRequest(DisposeLoginViewRequestParams parameters, RequestContext<object> requestContext)
{ {
contextIdToConnectionUriMap.Remove(parameters.ContextId);
await requestContext.SendResult(new object()); await requestContext.SendResult(new object());
} }
#endregion #endregion