尝试使用 AD 进行表单身份验证时遇到问题。我已按如下方式设置了所有内容,但在访问 Login.aspx 页面时出现 401 错误
从我的 Web.config:
<connectionStrings>
<add name="ADService" connectionString="LDAP://dc.domain.com/CN=Users,DC=domain,DC=com"/>
</connectionStrings>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="Default.aspx" />
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
<membership defaultProvider="MyADMembershipProvider">
<providers>
<clear/>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADService"
attributeMapUsername="sAMAccountName"
connectionUsername="domain\username"
connectionPassword="password"
connectionProtection="None"
enableSearchMethods="true"/>
</providers>
</membership>
这一切都在带有 IIS7 的 Windows 2008 服务器上运行。我将应用程序池设置为 .net 4.0 版,已集成。当我测试直通身份验证时,它通过了。唯一启用的身份验证方法是表单身份验证。如果我切换到 Windows 身份验证,该站点可以正常工作,但我似乎无法让表单身份验证正常工作。如果我在浏览器中输入域 URL,它会重定向到 Login.aspx?ReturnUrl=%2f 并显示 401 错误,如果我尝试直接导航到 login.aspx,也会出现同样的情况。我似乎在任何服务器日志中都找不到任何问题的迹象。关于我可能遗漏的任何想法?