C# 我想在MVC中控制基于用户角色的视图#
我希望根据用户角色控制操作中的视图。角色存储在数据库中,我已经覆盖了我的C# 我想在MVC中控制基于用户角色的视图#,c#,.net,C#,.net,我希望根据用户角色控制操作中的视图。角色存储在数据库中,我已经覆盖了我的AuthorizeCore,根据谁有权访问视图返回true或false。我需要知道控制器中的userRole 如何确定当前用户的角色 [Authorize] public ActionResult Index() { if (userRole = "Admin") { return View("Admin");} else {return View("Viewer"); } 假设您的控制器扩展了System.Web.Mv
AuthorizeCore
,根据谁有权访问视图返回true或false。我需要知道控制器中的userRole
如何确定当前用户的角色
[Authorize]
public ActionResult Index() {
if (userRole = "Admin") { return View("Admin");}
else {return View("Viewer");
}
假设您的控制器扩展了
System.Web.Mvc.controller
,那么您可以访问基类上的User
属性。这将为经过身份验证的用户提供一个IPrincipal
实例,其中包括.IsInRole(字符串角色)
:
注意:如果您配置的角色提供程序不自动支持使用
.IsInRole
,您可以使用User.Identity.Name
实现自己的数据库查找,谢谢John!由于角色在数据库中,我需要在通过User.IsInRole访问角色之前分配(设置)角色。我想知道如何/在哪里分配角色。@a以及您使用的角色提供程序是什么?我不知道;我不认为我在使用任何角色提供者:(当你说“角色存储在数据库中”时,你是什么意思?所有的用户和角色都在数据库中定义。
public ActionResult Index() {
if (User.IsInRole("Admin")) { return View("Admin");}
else {return View("Viewer");
}