所以我的Q如下(MVC 5):我有几种类型的默认页面,我想在我的应用程序启动时启动.
1-为匿名用户
2 ... 5 - 用于自动记录的其他用户角色(cookie).
我知道,这几乎是一个简单的"if",但同时我使用的是User.IsInRole("RoleName")方法,该方法不能在RouteConfig.cs中使用.
如果它是一个简单的添加使用声明,我提前为问题的简单性道歉.
更新:我已经设法通过一些:
if(User.UserInRole("RoleName")在我的默认ActionResault中返回RedirectToAction("ActionName").
虽然它不是一个优雅的解决方案,也没有定义许多默认页面,但它完成了工作.
它并不像你想象的那么简单.
在做这种事情时,你必须考虑几种情况.例如...
情景A:
匿名用户访问您的网站主页.
用户单击"登录".
用户登录.
系统在哪里引导用户?
情景B:
匿名用户通过主页以外的某个深层链接访问您的网站.
用户单击"登录".
用户登录.
系统在哪里引导用户?
场景C:
用户访问以前经过网站身份验证但仍具有有效身份验证Cookie的主页以外的某些深层链接.
网站在哪里引导用户?
我有点匆忙,所以很难理解我在说什么.关键是,您必须考虑用户访问您网站的不同方式.通常,我将这种功能连接到注册和登录过程中.您将无法通过路由执行所需操作.