我们正在尝试为ASP.NET Intranet应用程序设置ActiveDirectoryMemebershipProvider,该应用程序应该在浏览器中访问应用程序时自动将用户签名到应用程序中。
然而,浏览器正在向服务器发送FQDN(MYDOMAIN \ some.user),并且ActiveDirectoryMemebershipProvider似乎无法根据FQDN找到用户。但是,当我们从代码手动测试提供程序时,我们发现如果我们只尝试用户名(some.user),提供程序似乎能够找到用户。
是否有任何设置或任何可以使提供商跳过浏览器发送的域部分的内容?
答案 0 :(得分:0)
如果您没有,请尝试设置atttributeMapUsername,并告诉我这是否适合您。当我没有设置时,我必须以some.user@my.ldap.domain
格式指定我的用户。
我的Web.config
<add name="MyADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString"
attributeMapUsername="sAMAccountName"
enablePasswordReset="false" maxInvalidPasswordAttempts="1" passwordAttemptWindow="15"
passwordAnswerAttemptLockoutDuration="1" minRequiredNonalphanumericCharacters="0" attributeMapEmail="mail"
/>
答案 1 :(得分:0)
在IIS中,转到网站的属性并将默认域设置为“\”。不确定您使用的是哪个版本的IIS,如果IIS重置了您,另一种方法是简单地预先添加域部分以便自动添加它?
这是您正在使用的自定义应用还是产品?试图理解为什么它是从代码而不是从应用程序。如果您编写了应用程序,我认为您可以将其更改为模仿您的代码。如果你没有编写应用程序,它是什么?应用程序(例如OWA或SharePoint)可能有自定义方式。