Active directory ActiveDirectoryMembershipProvider不接受FQDN

Active directory ActiveDirectoryMembershipProvider不接受FQDN,active-directory,ldap,single-sign-on,activedirectorymembership,Active Directory,Ldap,Single Sign On,Activedirectorymembership,我们正在尝试为ASP.NET intranet应用程序设置ActiveDirectoryMembershipProvider,该应用程序应在浏览器中访问应用程序时自动为用户签名 但是,浏览器正在将FQDN(MYDOMAIN\some.user)发送到服务器,ActiveDirectoryMembershipProvider似乎无法基于FQDN找到用户。然而,当我们从代码中手动测试提供者时,我们发现如果我们只尝试用户名(some.user),提供者似乎能够找到用户 是否有任何设置或任何我们可以用来

我们正在尝试为ASP.NET intranet应用程序设置ActiveDirectoryMembershipProvider,该应用程序应在浏览器中访问应用程序时自动为用户签名

但是,浏览器正在将FQDN(MYDOMAIN\some.user)发送到服务器,ActiveDirectoryMembershipProvider似乎无法基于FQDN找到用户。然而,当我们从代码中手动测试提供者时,我们发现如果我们只尝试用户名(some.user),提供者似乎能够找到用户


是否有任何设置或任何我们可以用来让提供商跳过从浏览器发送的域部分?

如果没有设置,请尝试设置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"
         />

如果您还没有设置AttributeMapUserName,请尝试设置,并告诉我是否适合您。当我没有设置时,我必须在
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"
         />

在IIS中,转到网站的属性并将默认域设置为“\”。不确定您使用的是哪个版本的IIS,因此如果IIS在您身上重置了它,那么实现这一点的另一种方法是简单地预先添加域部分,以便自动添加它


这是您正在使用的自定义应用程序还是产品?试图理解为什么它是从代码而不是从应用程序工作。如果你写了这个应用,我想你可以修改它来模仿你的代码。如果你没有编写应用程序,它是什么?应用程序(如OWA或SharePoint)可能有一种自定义方式来完成此操作。

在IIS中,转到网站的属性并将默认域设置为“\”。不确定您使用的是哪个版本的IIS,因此如果IIS在您身上重置了它,那么实现这一点的另一种方法是简单地预先添加域部分,以便自动添加它


这是您正在使用的自定义应用程序还是产品?试图理解为什么它是从代码而不是从应用程序工作。如果你写了这个应用,我想你可以修改它来模仿你的代码。如果你没有编写应用程序,它是什么?应用程序(如OWA或SharePoint)可能有一个自定义的方式来完成此操作。

您好,谢谢您的回复。我们正在尝试使用自动登录,浏览器会将用户名发送到服务器。据我们所知,IE将以MYDOMAIN\my.username格式发送用户名。ActiveDirectoryMembershipProvider似乎不接受这一点。至少它找不到这样的用户。我尝试将attributeMapUsername设置为sAMAccountName,但似乎没有多大帮助。我可以查看您的代码吗?您是否使用IIS的设置进行身份验证?您可以选择windows用户身份验证并禁用匿名用户,这是我们在这里有时所做的。这样,您就可以从CGI变量中提取用户登录名,根据需要对其进行格式化,并通过您的身份验证例程运行它。您好,谢谢您的回复。我们正在尝试使用自动登录,浏览器会将用户名发送到服务器。据我们所知,IE将以MYDOMAIN\my.username格式发送用户名。ActiveDirectoryMembershipProvider似乎不接受这一点。至少它找不到这样的用户。我尝试将attributeMapUsername设置为sAMAccountName,但似乎没有多大帮助。我可以查看您的代码吗?您是否使用IIS的设置进行身份验证?您可以选择windows用户身份验证并禁用匿名用户,这是我们在这里有时所做的。这样,您就可以从CGI变量中提取用户登录名,根据需要对其进行格式化,并通过身份验证例程运行它。