SpringMvc Intercetor
对于登录的访问控制以及session的超时控制。
当用户在未登录情况下,直接在地址栏输入url进入某些页面时,会越过登录页,如果不做控制会有安全问题。
因此可添加拦截器处理异常:
/*** @Description: 非法登录拦截* @author DennyZhao* @date 2018年2月24日* @version 1.0*/ public class LoginInterceptor implements HandlerInterceptor {private static final Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);@Overridepublic void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {// TODO Auto-generated method stub }@Overridepublic void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)throws Exception {// TODO Auto-generated method stub }@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse resp, Object arg2) throws Exception {logger.debug(">>>preHandle(HttpServletRequest request, HttpServletResponse resp, Object arg2)");User User = (User)request.getSession().getAttribute(CommonConstants.SESSION_USER);if(retireUser == null) {logger.warn("session time out...");throw new MySessionException("会话超时...");}logger.debug("<<<preHandle(HttpServletRequest request, HttpServletResponse resp, Object arg2)");return true;}}
注意:要实现springmvc的 HandlerInterceptor 这个接口,同时将这个拦截器配置到spring配置文件中:
<mvc:interceptors><mvc:interceptor><!-- 拦截全部地址 --><mvc:mapping path="${adminPath}/rest/**" /><mvc:exclude-mapping path="${adminPath}/rest/login/**"/><!-- 登录拦截类 --><bean id="loginInterceptor"class="com.common.interceptor.LoginInterceptor"></bean></mvc:interceptor> </mvc:interceptors>
转载于:https://www.cnblogs.com/DennyZhao/p/8472496.html
SpringMvc Intercetor相关推荐
- 【SpringMVC】概述
概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的. 理解是servlet的一个升级 Sp ...
- 【SpringMVC】基本概念
SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...
- SSM框架整合(Spring+SpringMVC+MyBatis)
输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...
- SpringBoot-web开发(四): SpringMVC的拓展、接管(源码分析)
[SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) SpringBo ...
- SpringMVC——通俗易懂讲讲Ajax~
聊聊Ajax 一.什么是Ajax 二.iframe标签简单伪造Ajax 三.Ajax的实现 1. 基本概念的了解 Ajax的核心是什么? XMLHttpRequest是什么? Ajax数据传输的数据格 ...
- Jackson、FastJson快速入门(整合SpringMVC)
目录 1. 什么是 JSON 2. JSON 语法规则 3. JSON 与 JS 对象的关系 4. JSON 和 JS 对象互转 5. Jackson-数据格式转换 1. 环境搭建 2. 对象转jso ...
- RESTful风格及其SpringMVC实现
目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...
- 使用注解开发SpringMVC详细配置教程
目录 1.使用注解开发SpringMVC 1.新建一个普通的maven项目,添加web支持 2.在pom.xml中导入相关依赖 3.配置web.xml 4.编写SpringMVC配置文件 1. 自动扫 ...
- SpringMVC的form:form表单的使用
为什么要使用SpringMVC的form:form表单,有两个原因:一是可以更加快捷的完成表单的开发,比如会替你做好数据类型装换等本来需要你自己动手的工作.其次就是能够更加方便的实现表单回显. 首先要 ...
最新文章
- 变体类的使用 package record case【转载】
- ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
- 手写Java的字符串简单匹配方法IndexOf()
- 无限级分销系统数据库表设计
- java rector_Java IO的Reactor模式
- 360度动态漫游技术(html格式)
- 计算半圆弧的周长及半圆的面积
- 初中计算机期末质量分析,初中信息技术教学感悟随笔
- 加密算法(国密算法)
- colorbox去除close关闭按钮,附上colorbox的基本使用方法
- 行列式(Determinants)
- 第3章 枚举!很暴力
- 邮储银行软件开发中心(实习) 面经
- IEC61131-3标准的基本概念和定义
- 数学老师必看,教您快速画椭圆
- browse.php?u,phpMyRecipes browse.php SQL注入漏洞
- 「镁客早报」特斯拉称已与中国多家银行达成协议获取建厂贷款;沃达丰将在英国19个城市推出5G服务... 1
- WEB安全之:Access 数据库 SQL 注入
- 深入浅出雷达脉冲压缩技术
- HTML 基本学习------更新至链接
热门文章
- SAP Cloud for Customer和SAP S4HANA的Customer - Business partner
- python的scripts里没有pip_解决python scripts和pip缺失问题
- html调用python_对Python3 解析html的几种操作方式小结
- HDFS中常用的shell命令总结
- oracle 拼接_老品牌三明49寸液晶拼接屏多少钱支持定制
- ad用户和计算机报错,AD常用排错工具
- c语言中error c2109 是什么错,求c语言改错 error C2109: 下标要求数组或指针类型?...
- 国产编程语言又造假,丢不起这人!
- 一个电子工程师的完美人生!
- verilog驱动ADC0809包括仿真测试