【发布时间】:2013-10-18 03:36:28
【问题描述】:
我正在寻找一种基于用户在 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}....)
谢谢。
【问题讨论】:
-
看起来我必须在我的应用程序中使用不同的区域。不是吗?如果是这样,我想知道是否有任何其他方法可以显式定义路由而不是使用区域。但如果可能的话,我不知道该怎么做。
-
嗯,在某些时候,您将不得不对用户进行身份验证。因此,另一种选择是在您的登录控制器中,然后根据他们的角色重定向它们。
-
同意!但同时我想向管理员/员工/客户呈现不同的登录视图。在他们登录后,我希望他们重定向到他们指定的路线。例如:如果管理员登录,它将重定向到 /admin/home 之类的地址
-
这似乎有点奇怪,在您对他们进行身份验证之前,您不知道它是什么类型的访问者。要完成不同的登录视图,您必须告诉每个用户专门去一个 URL (adim/login) 登录,而不是只有一个入口点,然后他们路由到一个登录页面。
标签: asp.net-mvc asp.net-mvc-areas