每种角色类型的不同默认页面/控制器 - MVC 5

Mar*_*tto 10 c# asp.net-mvc asp.net-mvc-routing asp.net-mvc-5

所以我的Q如下(MVC 5):我有几种类型的默认页面,我想在我的应用程序启动时启动.

1-为匿名用户

2 ... 5 - 用于自动记录的其他用户角色(cookie).

我知道,这几乎是一个简单的"if",但同时我使用的是User.IsInRole("RoleName")方法,该方法不能在RouteConfig.cs中使用.

如果它是一个简单的添加使用声明,我提前为问题的简单性道歉.

更新:我已经设法通过一些:

if(User.UserInRole("RoleName")在我的默认ActionResault中返回RedirectToAction("ActionName").

虽然它不是一个优雅的解决方案,也没有定义许多默认页面,但它完成了工作.

Ale*_*sko 7

它并不像你想象的那么简单.

在做这种事情时,你必须考虑几种情况.例如...

情景A:

  1. 匿名用户访问您的网站主页.
  2. 用户单击"登录".
  3. 用户登录.
  4. 系统在哪里引导用户?

情景B:

  1. 匿名用户通过主页以外的某个深层链接访问您的网站.
  2. 用户单击"登录".
  3. 用户登录.
  4. 系统在哪里引导用户?

场景C:

  1. 用户访问以前经过网站身份验证但仍具有有效身份验证Cookie的主页以外的某些深层链接.
  2. 网站在哪里引导用户?

我有点匆忙,所以很难理解我在说什么.关键是,您必须考虑用户访问您网站的不同方式.通常,我将这种功能连接到注册和登录过程中.您将无法通过路由执行所需操作.