我使用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