2013-02-15 105 views
0

我想限制使用我的Web.config中定义的位置元素代码访问此URL,但它似乎并没有直接在URL中输入URL时重定向用户地址栏。ASP.NET网络配置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访问定义属性?

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

+1

web.config只是拼图的一个部分,您需要设置身份验证模式( ususally formsAuthentication),成员资格和角色提供者。 “似乎没有用”并没有告诉我们什么。需要帮助的更多信息。 – 2013-02-15 11:41:45

+0

我更新了我的问题,但是,在我的函数'[Authorize(Roles =“Admin”)]上面添加这个''也可以。 – user1883004 2013-02-15 12:08:30

回答

0

您不能在MVC应用程序中使用授权和/或位置元素。要在MVC应用程序中获得授权支持,请在控制器级别应用[Authorize]属性(然后所有操作都需要授权)或在动作级别