在我的应用程序中,我有与不同组织相关联的不同角色。我现在有三种组织类型
一个组织类型可以有多个组织,例如
厨房有多个厨房(厨房1,厨房2等) 有多个厨房的机构(机构1、机构2等)
现在的角色是这样的,
Bob是组织型厨房和厨房1的管理员。
直到现在,一切都很顺利。现在的问题是,用户可以具有多个角色。例如,
鲍勃除了是厨房1的管理员外,还是第一机构的护士。
现在我想要的是,当用户登录时,我会得到所有的角色类型,然后允许用户选择他想要访问的角色类型。如果只有一个,那就直接带他去那里。但是,对倍数应该做些什么呢?
这就是我目前所做的,
public ActionResult Dashboard()
{
User user = TableHelper.Get<User>("1", User.Identity.Name);
if (user != null)
{
List<OrganizationValues> data = CheckOrganizationType.organizationType(user); // getting organization type
if (data.Count() == 1) // if we have one role at a time
{
foreach (OrganizationValues ov in data)
{
if (ov.name != "crondale" && ov.name != "") // which means it doesn't belong to US!
{
return RedirectToAction("Dashboard", System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(ov.name), new { id = ov.organizationId, roleId = ov.roleType });
}
else // we are crondale
{
ViewBag.rolesType = getRoles();
ViewBag.organizationTypes = getOrganizationTypes();
}
}
return View(user);
}
else // you have more than 1 role
{
}
} // if user is not logged in
else
{
return RedirectToAction("Index", "Site");
}
}对于如何以最好的方式实现这一点,有什么见解吗?
发布于 2014-12-10 11:58:46
您可以根据角色创建一个动态页面,列出可访问的模块吗?这样用户就可以选择要查看的页面。如果添加了更多的角色,它也会有所帮助。
https://stackoverflow.com/questions/27399140
复制相似问题