基本上我想在某人不属于我的属性中列出的角色时显示友情消息.目前我的应用程序只是将用户吐回到登录屏幕.我已经阅读了一些关于创建一个仅扩展[AuthorizeAttribute]的自定义属性的帖子,但我认为必须有一些开箱即用的东西来做到这一点?
解决方法
如果您希望简单或完全控制逻辑,您可以在您的操作方法中调用它:
User.IsInRole("NameOfRole");
它返回一个bool,你可以根据结果完成其余的逻辑.
我在某些情况下使用的另一个是:
System.Web.Security.Roles.GetRolesForUser();
我认为这会返回一个字符串[],但不要引用我的话.
编辑:
一个例子总是有帮助……
public ActionResult AddUser() { if(User.IsInRoles("SuperUser") { return View("AddUser"); } else { return View("SorryWrongRole"); } }
只要你的返回类型是“ActionResult”,你就可以返回任何接受的返回类型(ViewResult,PartialViewResult,RedirectResult,JsonResult ……)