使用 AD 对不同域进行身份验证

Posted

技术标签:

【中文标题】使用 AD 对不同域进行身份验证【英文标题】:using AD to authenticate to different domains 【发布时间】:2010-08-02 17:44:40 【问题描述】:

所以我们一直在使用同一个登录神连接到 asp.net 中的各个域,有和没有 MVC。代码有效。

我们有一台新服务器,第一个运行服务器 2008 r2,其目录结构与已运行的其中一个类似。

使用forms认证,我在web.config中设置

<add name="ADConnectionString" connectionString="LDAP://10.1.XXX.XXX"/>

 <!--<authentication mode="Windows" />-->
    <membership defaultProvider="MyADMembershipProvider" >
      <providers >
        <add name="MyADMembershipProvider"
             type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
             connectionStringName="ADConnectionString"
             connectionUsername="XXXX\Brown.Eric"
             connectionPassword="XXXX"
             connectionProtection="None"
             />
      </providers>
    </membership>

它可以很好地连接以构建会员提供程序,但是当我尝试使用完全相同的用户名和密码登录表单登录页面(股票 asp.net 的东西)时,它无法登录。

同一个用户,同一个用于连接会员提供商的密码。

如果我在 web.config 中更改密码,我会收到错误消息,表明它不正确,因此我知道会员资格提供商正在与这些凭据建立连接。

我想不通的是为什么我不能使用相同的凭据登录?

我已经检查过: 用户未锁定。 用户未设置为在下次登录时更改密码。 用户未过期。

感谢任何帮助或提示。

谢谢,

卡尔-

【问题讨论】:

【参考方案1】:

想通了,无意中从上面删除了使用 SAM 帐户设置 config,它想让我改用 userPrincipalName。

将其切换回 sam 并按预期工作。

卡尔-

【讨论】:

我遇到了同样的问题,但无法解决,您能否使用正确的会员定义更新您的 OP? 在连接保护之前添加 attributeMapUsername="SAMAccountName" = none

以上是关于使用 AD 对不同域进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring-boot Application 中的 Spring Security 使用 Active Directory(使用 AD 域)对用户进行身份验证时出现问题

在 c# 中使用 *** 进行活动目录身份验证

使用 Xamarin Forms 使用自签名证书对 Azure AD 进行身份验证

如何使用 Azure AD 对 VueJS 应用程序进行身份验证?

通过不同域上的 REST Web 服务进行用户身份验证 - asp.net

使用特定机器对域进行身份验证?