AD活动目录操作类-示例
用前面那个AD活动目录操作类做一些简单的示例
http://www.cnblogs.com/yangboshan/archive/2007/07/25/830747.html
登陆的时候根据域帐户的名称和密码来验证
页面上有两个TextBox,分别为txtName和txtPass。一个登陆按钮Button1
在Button1的Click事件中写上如下代码:
调用操作类的Login函数
根据返回值来做不同操作
下面是操作类中的Enum。
如果只根据用户名取得属性可以如下面这样写:
use是用户名
http://www.cnblogs.com/yangboshan/archive/2007/07/25/830747.html
登陆的时候根据域帐户的名称和密码来验证
页面上有两个TextBox,分别为txtName和txtPass。一个登陆按钮Button1
在Button1的Click事件中写上如下代码:
Dim userName As String = Me.txtName.Text
Dim passWord As String = Me.txtPass.Text
Dim passWord As String = Me.txtPass.Text
Dim result As Integer
ADHelper.UserName = userName
ADHelper.PassWord = passWord
ADHelper.UserName = userName
ADHelper.PassWord = passWord
调用操作类的Login函数
result = ADHelper.Login(userName, passWord)
根据返回值来做不同操作
If (result = 0) Then
Session("name") = userName
Dim email As String = ADHelper.GetProperty(ADHelper.test(userName), "Mail")
Dim telephone As String = ADHelper.GetProperty(ADHelper.test(userName), "telephoneNumber")
Dim office As String = ADHelper.GetProperty(ADHelper.test(userName), "physicalDeliveryOfficeName")
Dim department As String = ADHelper.GetProperty(ADHelper.test(userName), "Department")
Dim position As String = ADHelper.GetProperty(ADHelper.test(userName), "Title")
Session("pos") = position
Session("dept") = department
Session("office") = office
Session("email") = email
Session("telephone") = telephone
Me.Label6.Text = "Login successfully"
Me.Label6.ForeColor = Drawing.Color.Green
Me.Button1.Text = "Log_out"
Else
Me.Label6.Text = "Login fail"
Me.Label6.ForeColor = Drawing.Color.Red
End If
当result返回0时,表示验证用户成功,并把帐户的一些常用属性写进SessionSession("name") = userName
Dim email As String = ADHelper.GetProperty(ADHelper.test(userName), "Mail")
Dim telephone As String = ADHelper.GetProperty(ADHelper.test(userName), "telephoneNumber")
Dim office As String = ADHelper.GetProperty(ADHelper.test(userName), "physicalDeliveryOfficeName")
Dim department As String = ADHelper.GetProperty(ADHelper.test(userName), "Department")
Dim position As String = ADHelper.GetProperty(ADHelper.test(userName), "Title")
Session("pos") = position
Session("dept") = department
Session("office") = office
Session("email") = email
Session("telephone") = telephone
Me.Label6.Text = "Login successfully"
Me.Label6.ForeColor = Drawing.Color.Green
Me.Button1.Text = "Log_out"
Else
Me.Label6.Text = "Login fail"
Me.Label6.ForeColor = Drawing.Color.Red
End If
下面是操作类中的Enum。
Public Enum LoginResult
LOGIN_OK = 0
LOGIN_USER_DOESNT_EXIST
LOGIN_USER_ACCOUNT_INACTIVE
End Enum
操作类中ADPath的值是放在配置文件中的,其中wl.com就是域控的名称。
LOGIN_OK = 0
LOGIN_USER_DOESNT_EXIST
LOGIN_USER_ACCOUNT_INACTIVE
End Enum
<appSettings>
<add key="ADPath" value="LDAP://wl.com"/>
</appSettings>
在上面取得用户的属性是根据用户名和密码的。<add key="ADPath" value="LDAP://wl.com"/>
</appSettings>
如果只根据用户名取得属性可以如下面这样写:
use是用户名
Dim mailAddress as String= ADHelper.GetProperty(ADHelper.nopassword(use), "Mail")
上面这句代码就是根据用户名取得Mail属性的值