Asp.net mvc ASP.NET web配置URL位置授权

Asp.net mvc ASP.NET web配置URL位置授权,asp.net-mvc,Asp.net Mvc,我试图使用在我的Web.config中定义的位置元素代码来限制对此URL的访问,但是当直接在地址栏中输入URL时,它似乎不会重定向用户 <location path="~/management/account"> <system.web> <authorization> <allow roles="Admin"/> <deny users="*" /> </authorization> </sy

我试图使用在我的Web.config中定义的位置元素代码来限制对此URL的访问,但是当直接在地址栏中输入URL时,它似乎不会重定向用户

<location path="~/management/account">
<system.web>
  <authorization>
    <allow roles="Admin"/>
    <deny users="*" />
  </authorization>
</system.web>
</location>

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

这可以在Web.config中实现吗?或者,对于此特定场景,我是否只使用相关函数上方的Authorize+roles access definition属性


我见过location元素用于限制对文件夹和特定页面的访问,但没有遇到带有URL路由的元素?

您不能在MVC应用程序中使用authorization和/或location元素。要在MVC应用程序中获得授权支持,请在控制器级别(然后所有操作都需要授权)或操作级别上应用
[Authorize]
属性,web.config只是难题的一部分,您还需要设置身份验证模式(通常是表单身份验证)、成员身份和角色提供程序。“似乎不起作用”告诉我们什么。需要更多的帮助信息。我更新了我的问题,但是,在我的功能上面添加了这个
[Authorize(Roles=“Admin”)]
同样有效。