ASP.NET MVC:将用户重定向到他们的区域

时间:2016-06-22 14:36:03

标签: asp.net asp.net-mvc asp.net-mvc-areas asp.net-mvc-5.2

我在ASP.Net mvc应用程序中有三个角色:Admin,Client,ProjectManager。 我在默认应用程序区域中有一个登录页面,然后我将用户的角色重定向到他们定义的区域:

bool isAdmin = UserManager.IsInRole(user.Id,ApplicationUser.Role_SiteAdmin);
bool isProjectManager = UserManager.IsInRole(user.Id,ApplicationUser.Role_ProjectManageer);
await SignInAsync(user, model.RememberMe);
if (isProjectManager==true)
    return RedirectToAction("Index","Home",new { area = "Admin" });
else
    return RedirectToLocal(returnUrl);

在上面的示例中,ProjectManager定向到Admin区域,Admin角色路由到默认应用区域。

我想知道是否有任何全局方法,如果他们访问其他区域,我可以将用户重定向到指定的Area?例如。如果ProjectManager移动到客户区,它会自动将他重定向到他自己的区域?

1 个答案:

答案 0 :(得分:0)

最好使用AuthorizeAttribute。它允许您根据用户角色授予对操作的访问权限。例如[授权(Roles =“SiteAdmin”)]

相关问题