IIS配置:
Anonymous Authentication Enabled
ASP.NET Impersonation Enabled
Windows Authentication Enabled
*the rest is disabled
Web.Config中:
<add name="ADConn" connectionString="LDAP://192.168.0.21" />
.
.
.
<authentication mode="Windows" />
<authorization>
<allow users="*"/>
<deny users="?" />
</authorization>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>
<identity impersonate="true"/>
<membership defaultProvider="ADMembership">
<providers>
<add name="ADMembership"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
connectionStringName="ADConn"
connectionUsername="dominic"
attributeMapUsername="sAMAccountName"
connectionPassword="p@ssw0rd" />
</providers>
</membership>
在我的网络应用程序中:
[Authorize]
public class HomeController : Controller
{
我正在尝试将我的应用程序从Form转换为Windows身份验证。使用此配置,页面会提示我使用登录对话框。当我使用我的AD帐户时,我无法登录,但当我使用本地帐户时,我可以访问该页面。为什么?我如何告诉我的应用程序使用特定的AD?我的配置是否正确?
重要说明:
答案 0 :(得分:1)
这是我认为正在发生的事情 当您尝试打开应用程序时,浏览器将发送您当前的AD凭据(如果IE配置为自动执行此操作) 由于您使用的是asp.net模拟,如果AD帐户无权访问应用程序文件夹,它将尝试使用匿名用户帐户,而该用户帐户也无法访问。 您可能需要为IIS中定义的匿名用户添加应用程序文件夹的安全访问权限,否则从IIS中删除匿名访问 您可以查看以下链接以了解设置权限准则 Guidelines for Resolving IIS Permissions Problems