ASP.NET WebConfig:Location 和 Authorization 标签





5.00/5 (1投票)
这是一篇文章,说明如何在 Web.Config 中使用 Authorization 标签。根据 MSDN 文章,Location>Authorization 机制的工作方式是
这是一篇文章,说明如何在 Web.Config 中使用 Authorization 标签
根据 MSDN 文章,Location>Authorization 机制采用自上而下的方式。如果我们考虑需要为根目录中的文件夹定义单独角色时,情况如下。
应用程序根目录 >> 会员(高级付费) --- 此文件夹供已在网站注册并为某些服务付费的用户使用,包含相关文件或页面。
应用程序根目录 >> 管理员 --- 此文件夹供网站管理员使用
应用程序根目录 >> 会员(非付费会员) --- 此文件夹供尚未为任何特殊或付费服务付费但仍注册网站以获取时事通讯或博客等服务的用户使用。
针对这种情况,我们需要执行以下操作
1. 为 ASP.NET 登录控件实现相同的 Forms 身份验证
2. 为高级付费会员添加 Location 标签,如下所示:
<location path=”Members(Premium Paid)”>
<authorization>
<allow roles=”Premium_Paid_Members” /> ---- 首先允许所需的角色
<deny users=”*” /> --- 现在拒绝所有角色和用户,这遵循自上而下的方法
<deny roles=”*” /> --- 现在拒绝所有角色和用户,这遵循自上而下的方法
</authorization>
</location>
3. 为管理员添加 Location 标签,如下所示:
<location path=”Admin”>
<authorization>
<allow roles=”Admin” /> ---- 您可以根据需要添加动词,例如仅用于发布数据 (verbs=”post”)
<deny users=”*” />
<deny roles=”*” /> --- 现在拒绝所有角色和用户,这遵循自上而下的方法
</authorization>
</location>
4. 为管理员添加 Location 标签,如下所示:
<location path=” Members (Non-paid Members)”>
<authorization>
<allow roles=”Members” />
<deny users=”*” />
<deny roles=”*” /> --- 现在拒绝所有角色和用户,这遵循自上而下的方法
</authorization>
</location>
结论:我们必须在拒绝文件夹中的所有用户和角色之前允许所需的角色或用户,以便同时为所有文件夹维护适当的访问权限。