public IServerAuthenticationCredential Authenticate(IClientAuthenticationCredential clientCredentials) { SSPIServerAuthenticationCredential serverAuthenticationCredential = new SSPIServerAuthenticationCredential(); serverAuthenticationCredential.Token = new AuthToken(); serverAuthenticationCredential.Token.Status = Common.Security.SSPI.SecurityStatus.OK; return(serverAuthenticationCredential); }
public IServerAuthenticationCredential OpenConfigurationSession(string cluster, IClientAuthenticationCredential clientCredentials) { SSPIServerAuthenticationCredential serverAuthenticationCredential = new SSPIServerAuthenticationCredential(); serverAuthenticationCredential.Token = new AuthToken(); serverAuthenticationCredential.Token.Status = Common.Security.SSPI.SecurityStatus.OK; return(serverAuthenticationCredential); }
private IServerAuthenticationCredential AuthenticateWindowsClient(SSPIClientAuthenticationCredential clientCredentials) { AuthToken clientAuthToken; if (clientCredentials == null || clientCredentials.Token == null) { clientCredentials = new SSPIClientAuthenticationCredential(); clientAuthToken = new AuthToken(); } else { clientAuthToken = clientCredentials.Token; } SSPIServerAuthenticationCredential serverAuthenticationCredential = new SSPIServerAuthenticationCredential(); serverAuthenticationCredential.Token = new AuthToken(); serverAuthenticationCredential.Token.Status = SecurityStatus.None; do { Byte[] clientToken = null; if (_clientSecurityContext == null) { InitializeSecurityContext(); } clientAuthToken.Status = this._clientSecurityContext.Init(serverAuthenticationCredential.Token.Token, out clientToken); clientAuthToken.Token = clientToken; clientCredentials.Token = clientAuthToken; if (clientAuthToken.Status == SecurityStatus.ContinueNeeded || (clientAuthToken.Status == SecurityStatus.OK && clientAuthToken.Token != null)) { ManagementCommand command = GetManagementCommand(ConfigurationCommandUtil.MethodName.OpenConfigurationSession, 1); command.Parameters.AddParameter(clientCredentials); try { serverAuthenticationCredential = ExecuteCommandOnMgtServer(command, true) as SSPIServerAuthenticationCredential; } catch (SecurityException exc) { if (LoggerManager.Instance.SecurityLogger != null && LoggerManager.Instance.SecurityLogger.IsErrorEnabled) { LoggerManager.Instance.StorageLogger.Error("Authenticating Database Server", exc.Message); } } } if (serverAuthenticationCredential.Token.Status == SecurityStatus.SecurityDisabled || (clientCredentials.Token.Status == SecurityStatus.OK && serverAuthenticationCredential == null)) { break; } } while (clientAuthToken.Status == SecurityStatus.ContinueNeeded); _clientSecurityContext = null; return(serverAuthenticationCredential); }