Windows身份验证使用户无法正常工作
问题描述:
我试图使用Windows身份验证我的应用程序,在测试中,我曾尝试允许只有我自己,并拒绝所有其他Windows身份验证使用户无法正常工作
<authentication mode="Windows" />
<authorization>
<allow users="DomainName\nogariyap" />
<deny users="*"/>
</authorization>
但它甚至给了我“Access Denied
”错误我登录到我的机器上使用相同的用户"DomainName\nogariyap"
当我将其更改为这个
<allow users="*" />
它的工作原理
我不知道为什么它不适用于特定的Windows用户?
编辑
它,当我加入这system.webServer
<security>
<authentication>
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="false" />
</authentication>
<authorization>
<remove users="*" roles="" verbs="" />
<add users="DomainName\nogariyap" accessType="Allow"/>
<add users="?" accessType="Deny"/>
</authorization>
</security>
strangly工作,但我不知道为什么它不与system.web
的设置工作,是什么在这些差别两个设置?
答
<system.web>
是项目配置,<system.webserver>
是服务器配置。两者应该是兼容的,但建议似乎是使用服务器配置。它是在IIS7上推出的。有些在两者之间的区别是:
- 在system.webserver顺序:
- 拒绝规则会首先评估开始在父
- 允许开始在父规则。
- 规则集合中出现的顺序
- 的System.Web中的顺序:
- 较低级别的第一上升到父在外观
- 订单规则集
- 在Web服务器,你可以将规则应用于任何元素含义:图片,文档,而无需进一步的配置(加上每个扩展之间的映射要处理程序)
答
在第一次尝试
你拒绝用户=“*”意味着否认每个人。在第二次尝试中,您拒绝了用户=“?”含义未知用户(未登录)。