java登录拦截器
来源:互联网 发布:python图形化界面开发 编辑:程序博客网 时间:2024/06/12 22:33
为了防止用户在没有登录的情况下来访问我们的网站,保证网站的安全性,我们要对登录进行拦截。
废话不多,直接上代码!
public classCxbPartnerInterceptorextendsHandlerInterceptorAdapter {
@Autowired
protectedUserSessionuserSession;
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throwsException {
//获取请求的url
String url = request.getRequestURI();
//判断当前请求的页面是否为登录页面,是则不用处理;
if(url.indexOf("chuang/login") >=0||url.indexOf("partner/login") >=0){
return true;
}
//是ajax请求,获取到的用户登录信息如果过期或者不存在,则返回一个错误,然后在前台进行处理
if(request.getHeader("X-Requested-With") !=null){
if(userSession.getUserIdFromCookie(request) !=null){
return true;
}
response.setStatus(SC_UNAUTHORIZED);
return false;
}else {//当前不是ajax请求,获取到的用户登录信息如果过期或者不存在,则直接跳转到登录页面从新登录
if(userSession.getUserIdFromCookie(request) !=null){
return true;
}
response.sendRedirect(Helper.getcxbUrl("chuang/login"));
return false;
}
}
}
//前台处理的代码
exports.ajaxSubmit=function(form,callback){
var _data= form.serialize();
$.ajax({
url:form.attr('action'),
type:"post",
data:_data,
dataType:'json'
}).done(function(data){
exports.ajaxAction({data:data});
callback&& callback();
}).fail(function(xhr,status,errorThrown) {
if (errorThrown =="Unauthorized") {
if (window.top==window) {
window.top.location.href="你要跳转的url";
} else {
window.location.href= "你要跳转的url";
}
}
});
}
//配置文件的配置
<!--配置拦截器,多个拦截器,顺序执行-->
<mvc:interceptors>
<mvc:interceptor>
<!-- 匹配的是url路径,如果不配置或/**,将拦截所有的Controller -->
<mvc:mappingpath="/chuang/**"/>
<mvc:mappingpath="/cxb/**"/>
<beanclass="com.aaa.cxb.controller.CxbPartnerInterceptor"></bean>
</mvc:interceptor>
<!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法-->
</mvc:interceptors>
注:401 (SC_UNAUTHORIZED)表示客户端在授权头信息中没有有效的身份信息时访问受到密码保护的页面。这个响应必须包含一个WWW-Authenticate的授权信息头。
- java登录拦截器
- java ssh 单点登录 拦截器
- java SpringMVC Filter登录拦截器
- 用户登录拦截器
- struct 登录拦截器
- springmvc登录拦截器
- STRUTS2 登录拦截器
- spring拦截器登录
- spring 登录拦截器
- 拦截器登录判断
- 登录验证--拦截器
- SpringMVC登录拦截器
- 登录拦截器
- 登录拦截器
- java用户登录拦截判断
- java拦截器实现强制登录(结合struts2)
- Java学习笔记 Struts2拦截器实现权限登录
- SpringMVC拦截器:登录拦截器
- 从码云拉项目的方法
- Python3学习(10)--列表生成器(List generator)
- 问题 : 小丑排序
- L
- 商城项目之jdk8+jdbc+mariadb
- java登录拦截器
- Mysql中group_concat的使用
- KEILC51编译问题ERROR L104: MULTIPLE PUBLIC DEFINITIONS重复定义
- malloc大战new
- Makefile 使用总结
- 修改android 默认横竖屏
- vs2010旗舰版产品密钥
- html5的input类型和所有属性详解
- AES加密