IIS配置.NET授权时添加拒绝匿名用户规则异常:规则被设为允许
解决IIS中PowerShell添加拒绝匿名用户授权规则的问题
你遇到的问题是因为Add-WebConfigurationProperty的参数设置未正确指向授权规则集合。正确的操作应该针对authorizationRules集合添加规则,而非直接操作authorization节点本身。
可以使用以下命令创建拒绝所有匿名用户的规则:
Add-WebConfiguration -pspath 'MACHINE/WEBROOT' -filter "system.web/authorization/authorizationRules" -value @{accessType='Deny'; users='?'}
如果仍有问题,可先清除现有授权规则(按需操作)再添加新规则:
# 清除现有授权规则(可选) Clear-WebConfiguration -pspath 'MACHINE/WEBROOT' -filter "system.web/authorization/authorizationRules" # 添加拒绝匿名用户的规则 Add-WebConfiguration -pspath 'MACHINE/WEBROOT' -filter "system.web/authorization/authorizationRules" -value @{accessType='Deny'; users='?'}
另外需要注意,IIS授权规则的顺序会影响最终生效逻辑,确保这条拒绝规则排在允许规则之前(若存在其他允许规则)。你可以通过IIS管理器查看规则顺序,或用以下命令确认规则是否正确添加:
Get-WebConfiguration -pspath 'MACHINE/WEBROOT' -filter "system.web/authorization/authorizationRules"
内容的提问来源于stack exchange,提问作者Fitzgery
相关产品推荐
相关产品推荐

