ActiveDirectoryMembershipProvider - “无法建立安全连接”
Posted
技术标签:
【中文标题】ActiveDirectoryMembershipProvider - “无法建立安全连接”【英文标题】:ActiveDirectoryMembershipProvider - "Unable to establish secure connection" 【发布时间】:2009-07-22 12:00:51 【问题描述】:我正在尝试配置 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>
【问题讨论】:
【参考方案1】:您提供的是一个看起来像容器的东西,而不是用于连接到 AD 的实际用户名。提供具有足够凭据以访问 AD 的用户的规范名称。请注意,如果服务器在同一个域中,则运行工作进程的网络系统用户可能已经拥有足够的权限,您根本不需要提供名称/密码。
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
applicationName="adtest"
connectionUsername="cn=actualUser"
connectionPassword="actualUsersPassword"
connectionStringName="LocalAD">
</add>
【讨论】:
谢谢。这让我向前迈了一步。我现在收到另一个错误“提供的凭据无效”。仅当我在“表单”中允许身份验证模式时才会发生这种情况。如果我将其更改为“Windows”,那么我会自动通过身份验证。【参考方案2】:连接用户名可以有不同的格式,具体取决于它的配置方式。如果用户仅作为 DN(可分辨名称)添加到用户角色中,则可以使用 CN=username,DC=container 的格式
如果用户作为 windows 用户添加到用户角色,则用户名只能是用户名。
我希望这个澄清会有所帮助。
【讨论】:
以上是关于ActiveDirectoryMembershipProvider - “无法建立安全连接”的主要内容,如果未能解决你的问题,请参考以下文章