在我的asp net mvc项目中,我使用ldap进行身份验证和授权。
我有一个名为op.sep.net的子域名,它是sep.net的子域名。 需要进行身份验证的所有用户都在根域sep.net中定义,但这些组在子域中定义
这是我在web.config文件中的连接字符串:
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<clear />
<add name="AspNetActiveDirectoryMembershipProvider"
connectionStringName="ADService"
attributeMapUsername="sAMAccountName"
connectionUsername="sep\at.rahimi"
connectionPassword="1qaz!QAZ"
connectionProtection="None" enablePasswordReset="false"
enableSearchMethods="true" type="System.Web.Security.ActiveDirectoryMembershipProvider" />
</providers>
</membership>
和连接字符串部分:
<connectionStrings>
<add name="ADService" connectionString="LDAP://OP-DC.op.sep.net/dc=op-dc,dc=op,dc=sep,dc=net" />
正如我提到的用户at.rahimi在sep域
我的问题是,如果我使用LDAP://OP-DC.op.sep.net作为服务器I,我将得到&#34;用户名或密码不正确&#34;并且无法进行身份验证,但如果我使用LDAP://sep.net我可以进行身份验证,但我无法通过System.Web.Security.Roles.GetRolesForUser("at.rahimi")
查看子域中的那些角色
我只能在sep.net中看到角色
如果有人能帮助我,我会非常感激。