让未登录的用户跳转到登录页面_网页登录后又跳转登录页面

让未登录的用户跳转到登录页面_网页登录后又跳转登录页面开发使用的是SpringBoot和Shiro,然后遇到了这个问题,记录一哈。1.处理ajax异步请求:如果不想每个ajax都判断返回数据,然后进行未登录跳转的话,可以修改JQuery的默认设置(c

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

开发使用的是SpringBoot和Shiro,然后遇到了这个问题,记录一哈。

1.处理ajax异步请求:

  如果不想每个ajax都判断返回数据,然后进行未登录跳转的话,可以修改JQuery的默认设置(complete回调):

            $.ajaxSetup({
                    contentType : "application/x-www-form-urlencoded;charset=utf-8",
                    complete : function(XMLHttpRequest, textStatus) {
                            var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus"); 
                            if (sessionstatus == "timeout") {
                                    alert("登录超时,请重新登录!");
                                    top.location.href="/";
                            }
                            
                            if(XMLHttpRequest.responseText == "{\"access\":\"Not Authenticated\"}"){
                                alert("尚未登录,请重新登录!");
                                top.location.href="/";
                            }
                    }
            });

  上面处理了超时和主动退出的情况,后者是需要后端传对应的数据的,如果不想每个请求都判断是否登录然后响应未登录数据的话,可以在过滤器里统一处理。我用了Shiro所以是在Shiro的基础上添加拦截器,这里遇到一个小问题就是重写的拦截器因为没给Spring管理所以不能自动注入Dao层的接口,要通过应用上下文对象获取。

 

2.处理非ajax请求

  如果是主页面的请求那么直接跳转或转发,子页面的话可以发一段js来跳转主页面,比如

out.write("<sciprt>top.location.href='/';</script>");

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168083.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Scala Hello 示例

    Scala Hello 示例

    2021年12月17日
    49
  • linux 设备树

    linux 设备树linux设备树参考地址http://blog.csdn.net/green1900/article/details/45646095http://www.cnblogs.com/xiaojiang1025/p/6131381.htmlhttp://blog.csdn.net/21cnbao/article/details/84575461.为什么要使用设备树(DeviceTree

    2022年6月15日
    33
  • spdlog 日志库学习,简易封装

    spdlog 日志库学习,简易封装spdlogwiki:https://github.com/gabime/spdlog/wiki别人的学习笔记:https://www.cnblogs.com/oucsheep/p/8426548.html别人的学习笔记:https://github.com/gabime/spdlog/wiki百度搜spdlog封装可以看到很多写的差不多的单例类,我看公司遗留的代码也是借鉴这些写的。最常见的是一开头就写上:#ifdef_WIN32#define__FILENAME__(s

    2022年6月23日
    57
  • android短信验证码代码,Android短信验证码自动填写实现代码

    android短信验证码代码,Android短信验证码自动填写实现代码今天给大家分享一个Android短信验证码自动填写的功能。先看下效果图,我发送了一条短信到手机,自动填写验证码。如图:这个小功能运用到了观察者模式,什么是观察者模式?观察者模式:定义对象间的一种一个(Subject)对多(Observer)的依赖关系,当一个对象的状态发送改变时,所以依赖于它的对象都得到通知并被自动更新。在本例中,我们在短信中注册一个观察者,当短信功能(被观察者)收到信息时,就会…

    2022年7月25日
    7
  • printwriter用法_printwriter设置编码

    printwriter用法_printwriter设置编码PrintWriter的使用java.io.PrintWriter具有自动行刷新的缓冲字符输出流,特点是可以按行写出字符串,并且可以自动行刷新。java.io.BufferedWriter是缓冲字符输出流,内部有缓冲区可以进行块写操作提供效率,而PrintWriter就是通过连接它实现的缓冲功能(PW的很多构造方法内部自动连接它)。PW支持两个直接对文件写操作的构造方法:*…

    2022年8月10日
    9
  • 发布版sha1怎么获取_sha1.rar

    发布版sha1怎么获取_sha1.rar获取SHA1值首先,绝大多数App在调试时使用的签名文件(debugkeystore)和最终App发布使用的签名文件(自定义的keystore)是不同的,不同签名文件的SHA1值也是不同的。下面提供几种获取SHA1值的方式:通过Eclipse编译器获取SHA1使用adt22以上版本,可以在eclipse中直接查看。Windows:依次在eclipse中打开Window-&gt;…

    2022年8月11日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号