Logo

Mvc校验用户没有登录就跳转的实现

photo

2022年05月27日

看字面意思很简单,就是判断用户是否登录了,如果没有登录就跳转到登陆页面。

没错,主要代码如下(这里就不写判断登录了,直接跳转)

首先在控制器中新建一个BaseController

public class BaseController : Controller
{
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        base.OnActionExecuting(filterContext);
        //这里判断出没有登录然后进行跳转
        Response.Redirect("/Login/Index");
 }}

public class TestController : BaseController
{
    public ActionResult Index()
    {
        return View();
    }
}

那么至此,大功告成!

可是如果你真的这么干了,我会毫不夸张的告诉你,你死定了!一点不吓人的告诉你

为什么呢?

原因很简单:断点调试发现一个严重的问题,在执行完下列代码之后

//这里判断出没有登录然后进行跳转
Response.Redirect("/Role/Index");

直至将Test控制器下的Index方法执行完毕,才在浏览器中显示了/Login/Index页面。

解决方法:

在跳转的时候,不用Response.Redirect进行跳转

而是将ActionExecutingContextResult属性赋值为我们要跳转的地址就OK了!

如下:

filterContext.Result = new RedirectResult("/Login/Index");

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

最近闲来无事,便想着去了解一下长按录音功能,于是网上各种搜,但是都没有我想要的效果,于是决定干脆自己...recorder.js实现录音功能

热门文章

WordPress 后台编辑器样式实现直接预览 在WordPress3.0以后,有一个新的实用功能:你可以更改默认后台编辑器(TinyMCE)的样...WordPress后台编辑器样式实现直接预览 作者:Pastore Antonio
1451 浏览量
【干货】Chrome插件(扩展)开发全攻略 写在前面我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的...【干货】Chrome插件(扩展)开发全攻略 作者:Pastore Antonio
1417 浏览量
CentOS 编译错误+配置错误解决方法集合 ERROR:theHTTPXSLTmodulerequiresthelibxml2/l...CentOS编译错误+配置错误解决方法集合 作者:Pastore Antonio
1410 浏览量
WordPress中加载JavaScript脚本的方法 在WordPress中加载脚本(为CSS和JS,下同)文件,大多数人的做法是直接在hea...WordPress中加载JavaScript脚本的方法 作者:Pastore Antonio
1386 浏览量
wordpress学习五: 通过wordpress_xmlrpc的python包远程操作wordpress wordpress提供了丰富的xmlrpc接口api来供我们远程操控wp的内容。伟大的开源社区有人就...wordpress学习五:通过wordpress_xmlrpc的python包远程操作wordpress 作者:Pastore Antonio
1384 浏览量