/ / ASP.NET MVC: redireciona os usuários para suas áreas - asp.net, asp.net-mvc, asp.net-mvc-areas, asp.net-mvc-5.2

ASP.NET MVC: redirecionar os usuários para suas áreas - asp.net, asp.net-mvc, asp.net-mvc-areas, asp.net-mvc-5.2

Eu tenho três funções no meu aplicativo mvc do ASP.Net: Admin, Client, ProjectManager. Eu tenho uma página de login na minha área de aplicativo padrão e, em seguida, redireciono os usuários por sua função para a área definida:

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);

No exemplo acima, ProjectManager é direcionado para Admin área e Admin a função é roteada para a Área de aplicativo padrão.

Eu quero saber se há algum método global, que eu possa redirecionar o usuário para o seu especificado Area se eles visitam outras áreas? Por exemplo. se o ProjectManager foi movido para a Área do Cliente, ele automaticamente o redirecionará para sua própria Área?

Respostas:

0 para resposta № 1

Você é melhor usar o AuthorizeAttribute . Ele permite que você conceda acesso à ação com base nas funções do usuário. Por exemplo, [Authorize (Roles = "SiteAdmin")]