我试图使用.NET授权规则在IIS7中保护应用程序.
默认情况下,Web服务器允许所有用户访问(继承).
我已经为这个应用程序目录添加了拒绝所有用户命令,以及特定用户的allow命令.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<authorization>
<allow users="myusername" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我启用了Windows身份验证,我可以验证没有我的REMOTE_USER是MYDOMAIN\myusername的行.
但是,当我尝试拒绝所有用户时,系统会提示我使用典型的Windows域用户名/密码框.如果我输入用户名密码,则提示会再次返回3次,直到最后向我显示失败消息.(我也试着无济于事)
查看事件查看器,看起来好像我的登录使用用户名和pw在审核中成功...并且为了更进一步,我的帐户没有被锁定(如果我没有登录并且过度).所以就好像我正在登录,但是配置没有看到我输入的匹配我的登录信息.
以下是我看到的消息(即使使用localhost从服务器连接时):
**访问被拒绝.
描述:访问提供此请求所需的资源时发生错误.可能未配置服务器以访问请求的URL.
错误消息401.2.:未授权:由于服务器配置登录失败.验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面.请与Web服务器的管理员联系以获取其他帮助.**