美好的一天,我在这一个上拉我的头发.. 我有这样配置的Active Directory Memebership Provider:
<system.web>
<membership>
<providers>
<clear/>
<add name="dev"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="DevTestConnStr"
attributeMapUsername="sAMAccountName"
connectionUsername="dev\Administrator"
connectionPassword="Password"
applicationName="/web"
/>
提供程序是正确实例化的,但是当我调用它时:
var user = Membership.Providers["myDomain"].GetUser("myUser", false);
除了将“Administrator”传递给调用中的情况外,调用始终返回null ...我已经没有关于如何使其工作的想法。请帮忙!
答案 0 :(得分:2)
您可以查看this MSDN article。
来自文章......
您习惯使用的服务帐户 连接到Active Directory必须具有 Active中有足够的权限 目录。如果您放置用户 帐户在Active Directory中 组织单位(OU),你可以 创建并使用该服务帐户 只有读,写和删除 访问该OU(并且,可选地, 重置密码权限。)
另外,this post。
答案 1 :(得分:1)
就像我已经准备好保释一样,我决定改变我的LDAP连接字符串:
"LDAP://dev.local/CN=Users,DC=Dev,DC=local"
到
"LDAP://dev.local/DC=Dev,DC=local".
现在按预期工作!