好吧,我的问题很简单。我在Windows 7上有一个帐户“ saqib”。我已在“管理员”组中添加了此帐户。现在,我的要求是我希望“ saqib”访问我的asp.net应用程序中的管理页面。我已在IIS-7中启用Windows身份验证并禁用了匿名身份验证。我在应用程序中添加了一个带有管理页面的文件夹。我还向该文件夹添加了一个web.config文件,并添加了这些设置。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
现在,当我想通过输入用户名“ saqib”和密码来访问此管理页面时,我无法访问我的管理页面。为什么 ???
虽然我可以使用内置在“管理员”帐户中的Windows来访问该管理页面,但该帐户在web.config文件中具有相同的设置。为什么会这样?
请在MSDN上阅读本教程,以更好地理解您的代码。
主要问题是您没有机会对您的管理员帐户进行身份验证-您仅拒绝最后一行中的所有用户。
因此,您必须使用@ <deny users="?" />
,如@Dust所述,但不能代替<deny users="*" />
而是在所有指令之前使用,如下所示:
<authorization>
<deny users="?" />
<allow roles="Administrators" />
<deny users="*" />
</authorization>
另外,请确保提供了authentication
用于设置应用程序身份验证模式的元素,例如:
<authentication mode="Forms" >
<forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" />
</authentication>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句