Mvc校验用户没有登录就跳转的实现
来源:互联网 发布:衡阳网络推广 编辑:程序博客网 时间:2024/06/05 14:10
看字面意思很简单,就是判断用户是否登录了,如果没有登录就跳转到登陆页面。
没错,主要代码如下(这里就不写判断登录了,直接跳转)
首先在控制器中新建一个BaseController
public class BaseController : Controller{ protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); //这里判断出没有登录然后进行跳转 Response.Redirect("/Login/Index"); }}正常的控制器 比如 TestController 继承BaseController代码如下
public class TestController : BaseController{ public ActionResult Index() { return View(); }}
如此在直接访问/Test/Index 的时候,由于继承的BaseController中进行了跳转,所以页面会成功的跳转到/Login/Index
那么至此,大功告成!
可是如果你真的这么干了,我会毫不夸张的告诉你,你死定了!一点不吓人的告诉你
为什么呢?
原因很简单:断点调试发现一个严重的问题,在执行完下列代码之后
//这里判断出没有登录然后进行跳转Response.Redirect("/Role/Index");
并没有立即跳转到相应页面,而是继续去访问了/Test控制器下的Index方法。
直至将Test控制器下的Index方法执行完毕,才在浏览器中显示了/Login/Index页面。
解决方法:
在跳转的时候,不用Response.Redirect进行跳转
而是将ActionExecutingContext的Result属性赋值为我们要跳转的地址就OK了!
如下:
filterContext.Result = new RedirectResult("/Login/Index");
如此这般,将不再继续访问Test控制器下的Index方法了!
0 0
- Mvc校验用户没有登录就跳转的实现
- 过滤器可以实现用户身份验证的功能,如果用户没有登录,则跳转到登陆页面:
- Axure RP 实现登录用户校验的三种方式
- 网页用户登录权限校验的两种实现方式
- 如何在不跳转的情况下实现用户登录
- 用Spring MVC实现用户登录的完整实例
- 用Spring MVC实现用户登录的完整实例
- 用Spring MVC实现用户登录的完整实例
- spring boot MVC 三 用户注册和登录的实现
- 关于在所有页面实现没有登录就转到登录页面的功能
- Spring MVC实现用户登录页面
- 使用mvc模式实现用户登录001
- 使用mvc模式实现用户登录002
- 使用mvc模式实现用户登录003
- liferay5.0.1用户登录后的跳转
- Yii controller控制器下设置对于用户没有登录的请求跳转至指定URL的方法
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
- filter对没有登录的用户过虑
- 怎么删除github上的仓库
- MapReduce的自制Writable分组输出及组内排序
- PHP 截取指定字符串后的字符串
- 《Java解惑》系列——03循环谜题——谜题26:在循环(注意栅栏柱问题、数字的溢出)
- android 颜色
- Mvc校验用户没有登录就跳转的实现
- Linux 驱动—LCD学习三:知识拓展篇
- Linux网络编程:TCP服务器(单进程多用户),使用select方法实现
- 地方电饭锅
- 第66届教育装备展商报道: 让世界更美好,为每个孩子提供一个绿色的云电脑
- leetcode WordBreak II
- 一本手册挖出首桶金,10天赚了3万元
- 用java的文件流功能来简化修改代码的重复劳动
- 观察者模式(看完马士兵视频的总结)