我有一个网站 (asp.net),您对 AD 公司进行身份验证。我在这个很棒的论坛中找到的身份验证代码(我把它放在下面)。问题是如果用户的密码过期了,我的代码直接告诉他是错误的,人们会有点疯狂。
我在谷歌上搜索以检测到这一点,但我什么也没找到。
你能帮我吗?我如何知道密码是否已过期或必须更改?如果是这样,用户如何更改它?
米码:
公共函数 usuarioYPassDM(tUsuario As String, tcontraseña As String) As Boolean
Dim esError As String
'primero ver si es un usuario de dm
' devolveremos true si son credenciales válidas, false si no
Dim entrada As DirectoryEntry = New DirectoryEntry()
entrada.Path = LDAP://SERVER******
entrada.AuthenticationType = AuthenticationTypes.Secure
entrada.Username = tUsuario
entrada.Password = tcontraseña
Dim dsSystem As DirectorySearcher = New DirectorySearcher(entrada, "(sAMAccountName=" & tUsuario & ")")
Dim srSystem As SearchResult
dsSystem.SearchScope = SearchScope.Subtree
Try
srSystem = dsSystem.FindOne()
usuarioYPassDM = True
Catch ex As Exception
esError = ex.Message.ToString
usuarioYPassDM = False
End Try
End Function
谢谢