WeOnlyDo! wodWebServer ActiveX - UserAuthenticate Method
      
 

Description

Called when user wants to authenticate.


Return Type

None  


Syntax

object.UserAuthenticate Owner, User, AuthType, Action



The UserAuthenticate Method syntax has these parts:

Part Description
object An expression evaluating to an object of type IwodWebNotify.
Owner A wodWebServerCom object. Reference to wodWebServer instance that called this notification method.
User A WebUser object. Reference to User who tries to authenticate.
AuthType A WebAuthenticationTypes enumeration, as described in settings. You can read here type of authentication used by the client.
Action A WebActions enumeration, as described in settings. You should set this value to Allow if you want to accept user's credentials, or Deny if you don't accept them.

Settings

The settings for AuthType are:

Constant Value Description
 AuthNone 0 No authentication supported.
 AuthBasic 1 Server supports Basic base64 authentication.
 AuthNTLM 2 Server supports NTLM challenge-request authentication.
 AuthCertificate 3 Server supports authentication with client certificate.

The settings for Action are:

Constant Value Description
 Deny 0 Deny execution of the action.
 Allow 1 Allow to execute action.

Remarks

NOTE: This method is called only if you implemented IwodWebNotify interface in your application, and wodWebServer.Notification property has received reference to instance of your implementation.

 
UserAuthenticate notification method is called when user tries to authenticate with the server (no matter if you require it or not). You should check appropriate properties for the user (such as Login, Password, Certificate) and then decide if you will accept user's credentials - by setting Action = Allow, or deny access by setting Action = Deny.
 
Typically you will do something like this to authenticate user (code sample in VB):
 
Private Sub IwodWebNotify_UserAuthenticate(ByVal Owner As WODWEBSERVERCOMLib.IwodWebServerCom, ByVal User As WODWEBSERVERCOMLib.IWebUser, ByVal AuthType As WODWEBSERVERCOMLib.WebAuthenticationTypes, Action As WODWEBSERVERCOMLib.WebActions)
  Dim c As Certificate

    Select Case AuthType
      Case AuthCertificate
        Set c = User.Certificate
        If c.PublicKeyOpenSSH = "something you have in database" Then
          Action = Allow
        Else
          Action = Deny
        End If

      Case AuthBasic
        If User.Login = "something" And User.Password = "something" Then
          Action = Allow
        Else
          Action = Deny
        End If

      Case AuthNTLM
        If User.Login = "something" And User.TestNTLMResponse("something") Then
          Action = Allow
        Else
          Action = Deny
        End If
    End Select
End Sub