Description
-
Called when user wants to authenticate.
Return Type
-
None
Syntax
-
object.UserAuthenticate Owner,
User, AuthType, Action
The UserAuthenticate Method syntax has these parts:
| 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:
 |
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:
 |
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
|