asp.net-mvc – ASP.net MVC:获取登录所需的角色?

是否有任何通用的方法来获得某些特定行动所需的角色?

详细说明我的问题是,我有例如2个角色“用户”和“管理员”以及具有以下内容的操作:

[授权(角色=“管理员”)]
公共类AdministrationController …

如果用户未登录,则会获得登录屏幕.没关系.当角色为“Admin”的用户登录时,一切正常.但是如果具有“用户”角色的用户登录,他将不断显示登录屏幕,除了他已成功登录,但当然不是必需的角色.

因此,如果登录显示可以向他显示提示,告诉他已经登录,但他没有查看此页面所需的权限,那将是一件好事.此外,它可能会显示所需的角色.

谢谢,
迈克尔

最佳答案 我认为这主要源于默认的AuthorizeAttribute设计,如果授权的任何部分失败,则显示登录页面.

您可能希望创建一个继承自AuthorizeAttribute的新类.然后,您可以覆盖默认行为并显示不同的页面.看到
http://schotime.net/blog/index.php/2009/02/17/custom-authorization-with-aspnet-mvc/#comment-159就是一个很好的例子.

点赞