2010-08-02 84 views
0

因此,我们一直使用相同的登录gode连接到asp.net中的各个域,使用和不使用MVC。代码起作用。使用AD对不同域进行身份验证

我们有一台新的服务器,第一台运行服务器2008 R2的服务器,它的目录结构与其中一台工作正常的服务器相似。

使用表单验证,我在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> 

它连接建立成员资格提供就好了,但是当我打算进军使用相同的用户名和密码登录表单登录页面(股票聊天室的东西)它无法登录。

同一用户,与用于连接成员资格提供者的密码相同。

如果我更改了web.config中的密码,我收到一个错误,说明它不正确,所以我知道成员资格提供程序正在使用这些凭据进行连接。

我无法弄清楚为什么我不能使用相同的凭据登录?

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

任何帮助或提示apprecaited。

感谢,

校准 -

回答

1

想通了,已经indavertantly取出使用SAM帐户从上面 配置设置,它是想我使用的UserPrincipalName代替。

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

Cal-

+0

我有同样的问题,但无法解决它,你可能更新您的OP与正确的成员资格定义? – Swifty 2014-01-22 07:01:39

+0

在连接保护前添加 attributeMapUsername =“SAMAccountName”=无 – 2014-01-22 18:04:13