2

我们正在尝试为 ASP.NET Intranet 应用程序设置 ActiveDirectoryMemebershipProvider,该应用程序应该在浏览器中访问时自动将用户登录到应用程序中。

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

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

4

2 回答 2

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"
         />
于 2010-08-02T18:23:04.490 回答
0

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

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

于 2010-08-07T13:53:28.137 回答