拒绝访问后我自己的观点

Jac*_*zek 2 asp.net-mvc-3

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

[Authorize(Roles = "Admin")]
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*thy 7

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

  • 创建自定义授权属性(请参阅:在ASP.NET MVC中重定向未授权的控制器)

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