检测Active Directory的过期密码

时间:2013-03-06 13:53:26

标签: asp.net

我有一个网站(asp.net),您对AD公司进行身份验证。我在这个伟大的论坛中找到的验证码(我把它放在下面)。问题是,如果用户的密码已过期,我的代码会直接告诉他错了,人们会有点疯狂。

我在谷歌上搜索了这个,但我一无所获。

你能帮忙吗?我如何知道密码是否已过期或必须更改?如果是这样,用户怎么能改变呢?

Mi代码:

公共函数usuarioYPassDM(tUsuario As String,tcontraseñaAsString)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

由于

1 个答案:

答案 0 :(得分:0)

Here是一个函数,它根据samAccountName,安全标识符或DistinguishedName计算用户对象的密码到期日期。