-1

我有一个网站 (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

谢谢

4

1 回答 1

0

是计算用户对象的密码到期日期的函数,该用户对象给出其 samAccountName、安全标识符或 DistinguishedName。

于 2013-03-06T16:14:32.460 回答