0

我正在寻找一种基于用户在 MVC4 应用程序中的角色来路由用户的最佳方法。

基本上我的应用程序中有 3 种类型的用户

1) 管理员 2) 员工 3) 客户

我怎样才能做到这一点?

admin/home (for each admin request it starts with admin/{controller}....)
staff/home  (for each staff request it starts with staff/{controller}....)
client/home  (for each client request it starts with client/{controller}....)

谢谢。

4

2 回答 2

0

好的,这就是我的建议,创建一个新项目并使用“互联网模板”。他们开箱即用地为您设置了一个登录页面,这将使您了解如何在您自己的应用程序中进行设置。

根据上面的设置,您将需要编辑AccountController并将类似的内容添加到 Login Post Action。

 if (User.IsInRole("Admin"))
 {
     return RedirectToAction("Home", "AdminController");
 }
 if (User.IsInRole("Staff"))
 {
     return RedirectToAction("Home", "StaffController");
 }
 if (User.IsInRole("Client"))
 {
     return RedirectToAction("Home", "ClientController");
 }

不要忘记将[Authorize(Roles = "RoleName")]属性添加到四个控制器,否则它们是否登录都没有关系。

另外,请查看http://www.asp.net/mvc,他们有大量资源可用于学习 asp.net mvc。

于 2013-10-11T12:50:49.883 回答
0

3)有一个属性,您可以在控制器中的操作前面放置一个属性,因此您可以在那里列出该特定操作允许的角色类型。您还可以创建自己的过滤器。

于 2013-10-10T11:45:15.947 回答