与MVC应用程序一起使用的位置路径不起作用

dog*_*lin 9 authorization web-config asp.net-mvc-4

我想使用位置路径,允许用户和拒绝用户限制我的MVC应用程序中的访问.这是我添加到web.config的部分

 <location path="Views/Admin/Ticketing/Seasons.aspx">
<system.web>
  <authorization>
    <allow users="admin" />
    <deny users="user1" />
  </authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

它不起作用.非管理员用户,例如user1仍然可以查看该页面.我不确定是不是因为我的路由设置不同或错误.

这是我要阻止的标签的URL

HTTP://marilyndenisservices.localhost/Admin/TicketingSeasons

这是此页面在磁盘D上的物理路径:\ dev\MarilynDenisServices\src\Web\Views\Admin\Ticketing\Seasons.aspx

这就是我在视图模型上配置它的方式

<div id="menucontainer">
<ul id="menu">

<li><%= Html.ActionLink("Ticketing", "TicketingSeasons", "Admin") %></li>

</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的行动

public ActionResult TicketingSeasons()
    {
        return View("Ticketing/Seasons");
    }
Run Code Online (Sandbox Code Playgroud)

有人能告诉我我做错了什么吗?

And*_*NET 25

试试这个位置路径:

<location path="Admin/TicketingSeasons">
<system.web>
  <authorization>
    <allow users="admin" />
    <deny users="user1" />
  </authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

  • path属性与URL匹配,而不是文件的路径 (4认同)