我只为Admin创建了一个控制器,我添加了:
[Authorize(Roles = "Admin")]
在课前定义。当我尝试以管理员身份获取网站作为用户时,我被重定向到LogOn网站。如何将重定向更改为LogOn或向登录站点添加额外信息?
答案 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>