1

我正在使用 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
4

0 回答 0