使用AD表单身份验证

时间:2013-08-09 17:12:10

标签: asp.net webforms active-directory forms-authentication

据我所知,我正在准确地遵循http://msdn.microsoft.com/en-us/library/ff650308.aspx中的步骤,但是在测试登录时遇到了问题。我收到以下错误:

  

配置错误
  描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。

     

分析程序错误消息:连接字符串中指定的容器不存在。

     

来源错误:

     第34行:
  第35行:   第36行:type =“System.Web.Security.ActiveDirectoryMembershipProvider,System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”
  第37行:connectionStringName =“ADConnectionString”
  第38行:connectionUsername =“ * ****

     

源文件:C:\ Users \ mbowman \ Dropbox \ Cecile project \ DoubleEntryForm \ DoubleEntryForm \ web.config Line:36

...这是配置的一部分,它正在挂起:

<membership>
  <providers>
    <clear/>
    <add name="MyADMembershipProvider" 
         type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
         connectionStringName="ADConnectionString"
         connectionUsername="*********"
         connectionPassword="********" />
  </providers>
</membership>

这是我第一次尝试这样的事情,所以我不确定我做错了什么。

编辑:AD连接字符串如下:

<add name="ADConnectionString" connectionString="LDAP://frcdom1.fireproof.local/CN=Fireproof,DC=frcdom1,DC=fireproof,DC=local" />

不确定我是否有这个权利。 frcdom1是一个域控制器,fireproof.local是我的域名。我的用户位于另一个名为Fireproof

的OU下名为Users的OU中

2 个答案:

答案 0 :(得分:3)

您的AD连接​​字符串的CN部分很可能在您的AD中不存在。我敢打赌你已经将连接字符串复制为CN=Users,DC=your,DC=domain,DC=com,即你已经替换了域名但留下了用户容器名称(用户)。

查阅实际的AD结构并修改连接字符串,使其指向有效的容器名称。在不知道AD的确切结构的情况下,无法确定哪种容器名称在您的案例中有效。

答案 1 :(得分:0)

如果您使用C#,本指南可以帮助您,我连接到Windows Server 2003和2008,您可以获得用户的所有信息,但用户权限信息,这是不可用的。

Login Active Directory