?-6ren"> ?-?通配符代表未经身份验证的用户,而 *代表所有经过身份验证和未经身份验证的用户。我的书中展示了以下 URL 授权示例: 但上面的代码不也有同样的效果吗: 或者作者-6ren">
gpt4 book ai didi

asp.net - 为什么下面的示例中包含

转载 作者:行者123 更新时间:2023-12-03 05:22:45 25 4
gpt4 key购买 nike

?通配符代表未经身份验证的用户,而 *代表所有经过身份验证和未经身份验证的用户。我的书中展示了以下 URL 授权示例:

<authorization>
<deny users="?" />
<allow users="dan,matthew" />
<deny users="*" />
</authorization>


但上面的代码不也有同样的效果吗:

<authorization>
<allow users="dan,matthew" />
<deny users="*" />
</authorization>

或者作者是否还包括 <deny users="?" />规则是有原因的吗?

最佳答案

ASP.NET 优先从配置文件授予访问权限。如果发生潜在冲突,则以最先发生的授予为准。所以,

deny user="?" 

拒绝匿名用户的访问。然后

allow users="dan,matthew" 

授予该用户访问权限。最后,它拒绝所有人的访问。这让除了丹·马修之外的所有人都被拒绝进入。

编辑添加:正如@Deviant指出的那样,拒绝对未经身份验证的访问是毫无意义的,因为最后一个条目也包含未经身份验证的内容。可以在以下位置找到讨论此主题的优秀博客文章: Guru Sarkar's Blog

关于asp.net - 为什么下面的示例中包含<deny users ="?"/>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com