ActiveDirectoryMembershipProvider - "无法建立安全连接"

14

我正在尝试配置ActiveDirectoryMembershipProvider,但是一直收到消息"无法与服务器建立安全连接"。

我在MSDN网站上看到应该将信任级别配置为不受限制,但我仍然遇到此问题。

以下是我的示例:

<connectionStrings>

     <add name="LocalAD" connectionString="LDAP://example.com/dc=example,dc=com" />

</connectionStrings>


<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">

    <providers>

        <add name="AspNetActiveDirectoryMembershipProvider"
             type="System.Web.Security.ActiveDirectoryMembershipProvider" 
             applicationName="adtest"
             connectionUsername="cn=Users"
             connectionPassword="password"
             connectionStringName="LocalAD" >

       </add>
    </providers>
</membership>

<trust level="Full" />

<authentication mode="Forms">
      <forms loginUrl="login.aspx"
             protection="All"
             timeout="30"
             name="miBenefitsAdminToolCookie"
             path="/"
             requireSSL="false"
             slidingExpiration="true"
             defaultUrl="Default.aspx"
             cookieless="UseCookies"
             enableCrossAppRedirects="false" />

 </authentication>

 <authorization>
      <deny users="?" />
      <allow users="*" />
 </authorization>
2个回答

5
您提供的似乎是一个容器,而不是实际用于连接到AD的用户名。请提供具有足够凭据访问AD的用户的规范名称。请注意,如果服务器在同一域中,则工作进程运行的网络系统用户可能已经具有足够的特权,您根本不需要提供名称/密码。
    <add name="AspNetActiveDirectoryMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider" 
         applicationName="adtest"
         connectionUsername="cn=actualUser"
         connectionPassword="actualUsersPassword"
         connectionStringName="LocalAD">

   </add>

谢谢。这让我向前迈进了一步。 现在我又遇到了另一个错误:“提供的凭据无效”。 只有当我允许“表单”身份验证模式时才会出现此错误。 如果我将其更改为“Windows”,那么我就会自动通过身份验证。 - Pablo

1
连接用户名的格式取决于其如何配置。如果用户仅作为DN(可分辨名称)添加到用户角色中,则可以使用CN=username,DC=container的格式。
如果将用户作为Windows用户添加到用户角色中,则只能使用用户名。
希望这一说明能够帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接