Active Directory成员资格提供程序仅适用于管理员

时间:2010-11-02 21:56:25

标签: asp.net active-directory asp.net-membership membership-provider

美好的一天,我在这一个上拉我的头发.. 我有这样配置的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 ...我已经没有关于如何使其工作的想法。请帮忙!

2 个答案:

答案 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". 

现在按预期工作!