Web.config文件似乎不会影响服务器

时间:2016-05-13 05:36:50

标签: asp.net asp.net-mvc

我正在尝试限制文件夹访问权限以仅允许具有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>

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

为什么不使用内置的ASP.Net身份机制在控制器中使用 [授权] 属性?

https://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

或者我完全误解了这个问题?