Dart.Ssh Namespace > SshConnection Class > Authenticate Method : Authenticate(String) Method |
'Usage Dim instance As SshConnection Dim username As String instance.Authenticate(username)
Exception | Description |
---|---|
System.Security.Authentication.AuthenticationException | Authentication was unsuccessful. The server does not support this authentication method, or the username is invalid. |
Servers will not typically accept this authentication method as the sole authentication factor, and will never announce it (the 'none' token will never show up in the list returned by Connection.GetRemainingAuthMethods).
The technique used to invoke this method is dependent upon the value of ThreadingModel. If ThreadingModel.Free, this method executes on the current thread and returns when complete (this is standard for creating applications in multi-threading environments like .NET). If ThreadingModel.ApartmentBlocking, this method blocks and processes windows UI messages while a worker thread executes (this is useful for making a simple blocking call in an apartment model environment like VB6). If ThreadingModel.ApartmentAsync, this method immediately returns after starting a worker thread that executes asynchronously (this is useful for creating advanced communications applications in an apartment model environment like VB6). The StateChanged event will be raised upon completion, or the Error event raised if an exception is thrown.
To support multi-factor authentication, the value of State can be checked after this method completes. If it returns ConnectionState.ConnectedAndPartiallyAuthenticated, further authentication is required and Connection.GetRemainingAuthMethods can be checked for a list of authentication methods that the server will accept as the subsequent authentication factor.