对于登录的访问控制以及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相关推荐

  1. 【SpringMVC】概述

    概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的.                       理解是servlet的一个升级 Sp ...

  2. 【SpringMVC】基本概念

    SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...

  3. SSM框架整合(Spring+SpringMVC+MyBatis)

    输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...

  4. SpringBoot-web开发(四): SpringMVC的拓展、接管(源码分析)

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) SpringBo ...

  5. SpringMVC——通俗易懂讲讲Ajax~

    聊聊Ajax 一.什么是Ajax 二.iframe标签简单伪造Ajax 三.Ajax的实现 1. 基本概念的了解 Ajax的核心是什么? XMLHttpRequest是什么? Ajax数据传输的数据格 ...

  6. Jackson、FastJson快速入门(整合SpringMVC)

    目录 1. 什么是 JSON 2. JSON 语法规则 3. JSON 与 JS 对象的关系 4. JSON 和 JS 对象互转 5. Jackson-数据格式转换 1. 环境搭建 2. 对象转jso ...

  7. RESTful风格及其SpringMVC实现

    目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...

  8. 使用注解开发SpringMVC详细配置教程

    目录 1.使用注解开发SpringMVC 1.新建一个普通的maven项目,添加web支持 2.在pom.xml中导入相关依赖 3.配置web.xml 4.编写SpringMVC配置文件 1. 自动扫 ...

  9. SpringMVC的form:form表单的使用

    为什么要使用SpringMVC的form:form表单,有两个原因:一是可以更加快捷的完成表单的开发,比如会替你做好数据类型装换等本来需要你自己动手的工作.其次就是能够更加方便的实现表单回显. 首先要 ...

最新文章

  1. 变体类的使用 package record case【转载】
  2. ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
  3. 手写Java的字符串简单匹配方法IndexOf()
  4. 无限级分销系统数据库表设计
  5. java rector_Java IO的Reactor模式
  6. 360度动态漫游技术(html格式)
  7. 计算半圆弧的周长及半圆的面积
  8. 初中计算机期末质量分析,初中信息技术教学感悟随笔
  9. 加密算法(国密算法)
  10. colorbox去除close关闭按钮,附上colorbox的基本使用方法
  11. 行列式(Determinants)
  12. 第3章 枚举!很暴力
  13. 邮储银行软件开发中心(实习) 面经
  14. IEC61131-3标准的基本概念和定义
  15. 数学老师必看,教您快速画椭圆
  16. browse.php?u,phpMyRecipes browse.php SQL注入漏洞
  17. 「镁客早报」特斯拉称已与中国多家银行达成协议获取建厂贷款;沃达丰将在英国19个城市推出5G服务... 1
  18. WEB安全之:Access 数据库 SQL 注入
  19. 深入浅出雷达脉冲压缩技术
  20. HTML 基本学习------更新至链接

热门文章

  1. SAP Cloud for Customer和SAP S4HANA的Customer - Business partner
  2. python的scripts里没有pip_解决python scripts和pip缺失问题
  3. html调用python_对Python3 解析html的几种操作方式小结
  4. HDFS中常用的shell命令总结
  5. oracle 拼接_老品牌三明49寸液晶拼接屏多少钱支持定制
  6. ad用户和计算机报错,AD常用排错工具
  7. c语言中error c2109 是什么错,求c语言改错 error C2109: 下标要求数组或指针类型?...
  8. 国产编程语言又造假,丢不起这人!
  9. 一个电子工程师的完美人生!
  10. verilog驱动ADC0809包括仿真测试