Answers:
ASP.NET Active Directory成员资格提供程序使用指定的用户名,密码和“连接字符串”对Active Directory进行身份验证绑定。连接字符串由LDAP服务器的名称以及指定用户所在的容器对象的标准路径组成。
连接字符串以URI开头LDAP://
。
对于服务器名称,您可以使用该域中的域控制器的名称-假设为“ dc1.corp.domain.com”。LDAP://dc1.corp.domain.com/
到目前为止,这给了我们。
下一位是绑定用户所在的容器对象的标准路径。假设您使用的是“管理员”帐户,并且您的域名为“ corp.domain.com”。“管理员”帐户位于名为“用户”的容器中,该容器位于域根目录下一级。因此,“用户”容器的标准DN为:CN=Users,DC=corp,DC=domain,DC=com
。如果您要绑定的用户位于一个OU中,而不是一个容器中,则该路径将包括“ OU = ou-name”。
因此,如果在一个名为OU Service Accounts
的子OU中使用一个名为OU的子帐户,该OU Corp Objects
是一个域的子OU,则该帐户corp.domain.com
的标准路径为OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com
。
结合LDAP://dc1.corp.domain.com/
使用到绑定用户所在容器的完全限定路径(例如LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com
),您便有了“连接字符串”。
(您可以在连接字符串中使用域名称,而不是域控制器的名称。区别在于,域名称将解析为域中任何域控制器的IP地址。好坏都可以。您不需要依靠任何单个域控制器就可以正常运行并使成员资格提供程序正常工作,但是名称恰好解决了,例如,远程网络中具有分散网络连接的DC,那么成员资格可能有问题提供商工作。)
键入dsquery /?
在命令提示。
例如:dsquery user -name Ja*
获取名称以Ja *开头的所有用户的连接字符串。
我只是使用Softerra的这个工具(他们制作了出色的免费LDAP浏览器)从当前登录的用户获取用户DN:http : //www.ldapbrowser.com/download.htm
安装远程服务器管理工具:http : //www.microsoft.com/zh-cn/download/details.aspx?id=7887
打开命令提示符并输入> dsquery服务器
有关更多信息,请检查此帖子(该帖子的底部):http : //www.schiffhauer.com/mvc-5-and-active-directory-authentication/