我正在尝试限制文件夹访问权限以仅允许具有admin角色访问权限的用户使用以下Web.config文件:
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
此文件位于子目录&#34; Views / Admin /&#34;下。我有另一个文件位于&#34; Views / Admin / Main /&#34;只有管理员才有权访问(基于上述规则),但是所有测试用例都允许任何匿名用户访问该文件。我目前只与localhost合作,以防万一。
问题是任何用户都被授予访问这些文件的权限。是否有必要采取额外步骤才能识别Web.config文件?
我目前通过&#34;管理员&#34;访问该页面。按钮,这错误地允许任何用户访问管理页面(请注意,当用户不是一个似乎工作的管理员时,我也有代码隐藏此管理员按钮):
<li>@Html.ActionLink("Admin", "Admin", "Admin")</li>
使用以下Web.config文件仍然允许用户访问该网页,这让我觉得在此过程中我只是错过了一个额外的步骤(请注意,即使管理员也无法访问这些页面规则):
<configuration>
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
知道我做错了吗?
答案 0 :(得分:0)
为什么不使用内置的ASP.Net身份机制在控制器中使用 [授权] 属性?
https://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api
或者我完全误解了这个问题?