springMVC 拦截器 登录管理
来源:互联网 发布:mac搜狗输入法不显示 编辑:程序博客网 时间:2024/05/29 02:24
一、web.xml
<servlet><servlet-name>spring-mvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
二、springmvc.xml
<mvc:interceptors> <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 --> <!-- <bean class="cn.picclife.mwx.activity.util.AuthInterceptor"/> --> <!-- 拦截器配置项 --> <mvc:interceptor> <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller --> <mvc:mapping path="/customer_insert_reg"/> <!-- 不被拦截范围(路径);例如:后台登录页面 --><mvc:exclude-mapping path="/agent_login"/> <!-- 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的 --> <bean class="cn.picclife.mwx.activity.util.LoginInterceptor"/> </mvc:interceptor> </mvc:interceptors>
三、java类
import java.io.PrintWriter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang3.StringUtils;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;/** * * @ClassName: AuthInterceptor * @Description: 登陆判断 * @date 2016年11月9日 下午8:05:10 * */public class LoginInterceptor extends HandlerInterceptorAdapter {// 登陆页面private static final String loginPage = "/public/agent_login.html";// 微信绑定页// private static final String wxBindingPage = "/user/wxbind.jhtml";@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception {}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {}@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");// session管理和登陆判断Boolean isLogin = false;Agent agent = (Agent) request.getSession().getAttribute("Agent");if (agent != null) {isLogin = true;}String openId = (String) request.getSession().getAttribute("openId");// String openId = "oO6scvxfO0py5wFlHTRTI8J0JLyc";if (!isLogin) {String requestType = request.getHeader("x-requested-with");boolean isAjax = false;if ("XMLHttpRequest".equals(requestType)) {isAjax = true;}// 判断是否是ajax请求if (isAjax) {PrintWriter out = response.getWriter();out.print("{\"code\":\"20000\",\"msg\":\"用户尚未登陆\"}");out.flush();out.close();} else {String ctx = request.getContextPath();if (StringUtils.isBlank(openId)) {// 未登录PrintWriter out = response.getWriter();StringBuilder builder = new StringBuilder();builder.append("<script type=\"text/javascript\" charset=\"UTF-8\">");builder.append("alert(\"页面过期,请重新登录\");");builder.append("window.top.location.href=\"");builder.append(ctx + loginPage);builder.append("\";");builder.append("</script>");out.print(builder.toString());out.close();} else {response.sendRedirect(ctx + loginPage);}}return false;}return true;}}
0 0
- springMVC 拦截器 登录管理
- springmvc登录拦截器
- SpringMVC登录拦截器
- SpringMVC 登录拦截器实现
- SpringMvc拦截器登录处理
- SpringMVC拦截器实现登录
- SpringMVC拦截器:登录拦截器
- springmvc拦截器,用户登录拦截过程
- SpringMVC拦截器实现登录控制
- 简单的springmvc登录验证拦截器
- 基于SpringMVC的登录拦截器
- 基于Springmvc的登录权限拦截器
- java SpringMVC Filter登录拦截器
- SpringMVC拦截器实现登录认证
- springmvc拦截器实现自动登录
- 使用springmvc拦截器进行登录控制
- SpringMVC通过拦截器实现登录控制
- SpringMVC配置拦截器实现登录控制
- Java编码规范-实践篇
- 安卓listView数据为空时自带方法
- Linux Shell之sed命令
- 安卓.开发规范(高级)
- [iOS URL Schemes相关] URL Schemes 转载
- springMVC 拦截器 登录管理
- AndroidStudio导入项目卡的解决办法
- 有颜值有实力的云NVR--EasyNVR发布
- JavaSE 之 ----- 养成严谨的编码习惯
- WPF 3D: MeshGeometry3D纹理坐标的正确定义TextureCoordinates
- MongoError: read ECONNRESET
- build.gradle中buildConfigField自定义配置
- ThinkPHP + Discuz 整合方法
- strongswan 搭建vpn