900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 让未登录的用户跳转到登录页

让未登录的用户跳转到登录页

时间:2021-06-22 07:04:22

相关推荐

让未登录的用户跳转到登录页

开发使用的是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>");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。