拒绝访问后我自己的看法

时间:2011-02-08 19:21:35

标签: asp.net-mvc-3

我只为Admin创建了一个控制器,我添加了:

[Authorize(Roles = "Admin")]

在课前定义。当我尝试以管理员身份获取网站作为用户时,我被重定向到LogOn网站。如何将重定向更改为LogOn或向登录站点添加额外信息?

1 个答案:

答案 0 :(得分:7)

当用户登录但无法访问页面时,将用户弹回LogOn页面是使用现成的AuthorizeAttribute的缺点之一。您有两种选择:

  • 创建自定义授权属性(请参阅:Redirecting unauthorized controller in ASP.NET MVC

  • 更改web.config中“forms”元素的“loginUrl”属性,以指向根据您是否已登录处理重定向的操作方法。您可以检查操作方法以查看用户是否已登录。如果是,则可以显示未经授权的访问视图,如果不是,则可以将其发送到登录页面。例如<authentication mode="Forms"><forms loginUrl="~/error/unauthorized" timeout="2880"></authentication>