使用LDAP DirectorySearcher确定用户是否是AD组的成员

时间:2015-11-19 16:59:14

标签: vb.net web-services ldap directoryservices directorysearcher

我使用LDAP对内部企业应用的用户进行身份验证。用户必须是特定AD组(NAV_Super)的成员才能访问该应用程序。验证方法的作用是确认用户具有活动的AD帐户,但不限制只能访问AD组的成员(NAV_Super)。基本上任何活动的AD帐户都返回True。以下是我的代码。我很感激任何建议。

<WebMethod()> Public Function ADCredentialCheck(ByVal InputUserName As String, InputPassword As String) As Boolean
    Dim MyDirectoryEntry As New DirectoryEntry("LDAP://CN=NAV_Super,OU=Security Enabled Groups,OU=Groups,OU=MyCompany,DC=MyDomain,DC=com", InputUserName, InputPassword, AuthenticationTypes.Secure)
    Try
        Dim MyDirectorySearcher As DirectorySearcher = New DirectorySearcher(MyDirectoryEntry)
        MyDirectorySearcher.Filter = "(&(objectCategory=Person)(objectClass=user))"
        MyDirectorySearcher.FindOne()
        Return True
    Catch
        Return False
    End Try
End Function

0 个答案:

没有答案