12

我在 Web.config 文件中定义了以下 ASP.NET Membership 部分:

<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
  <providers>
    <clear/>
    <add connectionStringName="ADService" connectionUsername="umanage"
      connectionPassword="letmein" enablePasswordReset="true" enableSearchMethods="true"
      applicationName="uManage" clientSearchTimeout="30" serverSearchTimeout="30"
      name="AspNetActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</membership>

连接字符串如下所示:

<add name="ADService" connectionString="ldap://familynet.local" />

每当我调用以下代码时:

Membership.GetAllUsers();

我收到以下错误:

配置错误描述:处理服务此请求所需的配置文件期间发生错误。请查看下面的具体错误详细信息并适当地修改您的配置文件。

解析器错误消息:Active Directory 和 ADAM 仅支持 LDAP 连接字符串。

我不明白为什么系统声称 LDAP 连接字符串不好,因为它实际上是 MSDN 文档指定的有效 LDAP 字符串。

http://msdn.microsoft.com/en-us/library/system.web.security.activedirectorymembershipprovider.aspx

有任何想法吗?

4

1 回答 1

29

您的 LDAP 连接字符串实际上是无效的 - LDAP 连接字符串区分大小写;LDAP前缀必须是大写的。利用:

connectionString="LDAP://familynet.local" />

你应该没事。

于 2010-05-09T19:21:15.287 回答