Dart.Ssh Namespace > SshConnection Class > Authenticate Method : Authenticate(String,String) Method |
'Declaration Public Overloads Sub Authenticate( _ ByVal username As String, _ ByVal password As String _ )
'Usage Dim instance As SshConnection Dim username As String Dim password As String instance.Authenticate(username, password)
Exception | Description |
---|---|
System.Security.Authentication.AuthenticationException | Authentication was unsuccessful. The server does not support this authentication method or the arguments are invalid. |
Connection.GetRemainingAuthMethods can be used to confirm if 'password' authentication is an available authentication method; some servers accept only 'publickey' and/or 'keyboard-interactive' authentication.
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.