Package waffle.windows.auth
Interface IWindowsAuthProvider
- All Known Implementing Classes:
MockWindowsAuthProvider
,WindowsAuthProviderImpl
public interface IWindowsAuthProvider
Implements Windows authentication functions.
-
Method Summary
Modifier and TypeMethodDescriptionacceptSecurityToken
(String connectionId, byte[] token, String securityPackage) Attempts to validate the user using an SSPI token.Retrieve the current computer information.Retrieve a list of domains (Active Directory) on the local server.logonDomainUser
(String username, String domain, String password) The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the default authentication provider.logonDomainUserEx
(String username, String domain, String password, int logonType, int logonProvider) The LogonDomainUserEx function attempts to log a user on to the local computer.The LogonUser function attempts to log a user on to the local computer using a network logon type and the default authentication provider.lookupAccount
(String username) Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the account was found.void
resetSecurityToken
(String connectionId) Reset a previously saved continuation security token for a given connection id.
-
Method Details
-
logonUser
The LogonUser function attempts to log a user on to the local computer using a network logon type and the default authentication provider.- Parameters:
username
- A string that specifies the name of the user in the UPN format.password
- A string that specifies the plaintext password for the user account specified by username.- Returns:
- Windows identity.
-
logonDomainUser
The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the default authentication provider.- Parameters:
username
- A string that specifies the name of the user. This is the name of the user account to log on to. If you use the user principal name (UPN) format, user@DNS_domain_name, the domain parameter must be NULL.domain
- A string that specifies the name of the domain or server whose account database contains the username account. If this parameter is NULL, the user name must be specified in UPN format. If this parameter is ".", the function validates the account by using only the local account database.password
- A string that specifies the plaintext password for the user account specified by username.- Returns:
- Windows identity.
-
logonDomainUserEx
IWindowsIdentity logonDomainUserEx(String username, String domain, String password, int logonType, int logonProvider) The LogonDomainUserEx function attempts to log a user on to the local computer. The local computer is the computer from which LogonUser was called. You cannot use LogonUser to log on to a remote computer. You specify the user with a user name and domain and authenticate the user with a plaintext password.- Parameters:
username
- A string that specifies the name of the user. This is the name of the user account to log on to. If you use the user principal name (UPN) format, user@DNS_domain_name, the domain parameter must be NULL.domain
- A string that specifies the name of the domain or server whose account database contains the username account. If this parameter is NULL, the user name must be specified in UPN format. If this parameter is ".", the function validates the account by using only the local account database.password
- A string that specifies the plaintext password for the user account specified by username.logonType
- The type of logon operation to perform.logonProvider
- Specifies the logon provider.- Returns:
- Windows identity.
-
lookupAccount
Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the account was found.- Parameters:
username
- Fully qualified or partial username.- Returns:
- Windows account.
-
getCurrentComputer
IWindowsComputer getCurrentComputer()Retrieve the current computer information.- Returns:
- Current computer information.
-
getDomains
IWindowsDomain[] getDomains()Retrieve a list of domains (Active Directory) on the local server.- Returns:
- A list of domains.
-
acceptSecurityToken
IWindowsSecurityContext acceptSecurityToken(String connectionId, byte[] token, String securityPackage) Attempts to validate the user using an SSPI token. This token is generated by the client via the InitializeSecurityContext(package) method described in https://msdn.microsoft.com/en-us/library/aa375509(VS.85).aspx- Parameters:
connectionId
- A unique connection id.token
- The security token generated by the client wishing to logon.securityPackage
- The name of the security package to use. Can be any security package supported by both the client and the server. This is usually set to "Negotiate" which will use SPNEGO to determine which security package to use. Other common values are "Kerberos" and "NTLM".- Returns:
- Windows account.
-
resetSecurityToken
Reset a previously saved continuation security token for a given connection id.- Parameters:
connectionId
- Connection id.
-