定义拦截器类如下:
public class LoginInterceptor extends HandlerInterceptorAdapter { @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // TODO Auto-generated method stub // 访问url不是/login.do时拦截 if (request.getServletPath().startsWith( "/cmmn/menu/login") || request.getServletPath().startsWith("/cmmn/index" )) { return true ; } // 用户Id没有的时候拦截 if (SessionUtil.getAttribute( "sesUserId" ) != null ) { return true ; } response.sendRedirect(request.getContextPath() + "/" ); return false ; } }
在applicationContext.xml中配置如下:
< beans xmlns ="http://www.springframework.org/schema/beans" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns:p ="http://www.springframework.org/schema/p" xmlns:context ="http://www.springframework.org/schema/context" xmlns:mvc ="http://www.springframework.org/schema/mvc" xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> < mvc:annotation-driven /> <!-- 以下配置将拦截所有的URL请求 --> < mvc:interceptors> < bean class ="egovframework.rte.interceptor.LoginInterceptor" /> </ mvc:interceptors>
-
注意以下几点:
1)beans中必须添加
xmlns:mvc ="http://www.springframework.org/schema/mvc"
xsi:schemaLocation ="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
2)开启mvc注解
< mvc:annotation-driven />
3)配置自己定义的拦截
< mvc:interceptors>
<!-- class为自己创建的拦截类 -->
< bean class ="egovframework.rte.interceptor.LoginInterceptor" />
</ mvc:interceptors>
相关推荐
拦截未登录的用户,使用spring mvc的拦截器来实现这个功能
该压缩包实现了利用过滤器或者拦截器对登录信息进行验证跳转登陆页的功能,利用的是SpringBoot和thymeleaf,使用前请先看使用说明
我们对拦截器并不陌生,无论是 Struts 2 还是 Spring MVC 中都提供了拦截器功能,它可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。Spring Boot 同样提供了...
struts2 spring ibatis整合,以及用户登陆时的拦截器操作,并记录日志的操作
本文主要介绍了Spring MVC--拦截器实现和用户登陆例子,具有很好的参考价值,下面跟着小编一起来看下吧
Spring MVC拦截器~~~登陆验证拦截-附件资源
1.本项目为SpringCloud ...2.由于Gateway采用的是纯Webflux方式,所以原有的Spring基于传统拦截器、过滤器的方式无法正常使用SpringSecurity。 3.因此,本项目根据WebFlux的方式,进行了整合,实现了登录和权限验证。
自己实现spring-session,实现单点登陆的功能 使用filter拦截用户的请求,在filter中包装request,在request的包装类requestWrapper中,重写getSession(), 和getSession(boolean create)。自己实现httpSession,...
14.1. AOP联盟 (MethodInvocation) 安全拦截器 14.1.1. 精确的 MethodSecurityIterceptor 配置 14.2. AspectJ (JoinPoint) 安全拦截器 15. 基于表达式的权限控制 15.1. 概述 15.1.1. 常用内建表达式 ...
前段时间第一次在项目里用到vue,关于登陆问题,这里写一下心得。 首先后端: import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import com.lovnx.gateway.po.User; import javax....
Spring Boot项目06 - BBS项目源码,实现登录功能和登陆拦截器
本次实战项目主要是借鉴b站上的视频资源【狂神说Java】SpringBoot最新...在上篇文章Spring Boot项目实践-员工管理系统(四)·登录功能实现里面完成了登录功能,但是此时用户可以不登陆便可进入主页,这是不安全的,
本篇文章主要介绍了springboot实现拦截器之验证登录示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
14.1. AOP 联盟(MethodInvocation) 安全拦截器 14.1.1. 精确的MethodSecurityIterceptor 配置 14.2. AspectJ (JoinPoint) 安全拦截器 15. 基于表达式的权限控制 15.1. 概述 15.1.1. 常用内建表达式 15.2...
本基础框架采用 spring mvc+c3p0+jpa的配置方式,里面配置了spring事务管理,异常处理,登陆拦截器 等,全部自己动手搭建,经过测试通过。如果你苦于一个万能的java ee框架搭建,你可以参考。个人喜欢专研技术,但不...
1.过滤器:所谓过滤器顾名思义是用来过滤的,在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login....
通知是直译过来的结果,我个人感觉叫做“业务增强”更合适 对照代码就是拦截器定义的 相关方法,通知分为如下几种: 1. 前置通知(before):在执行业务代码前做些操作,比如获取连接对象,登陆鉴权 2. 后置通知(after)...
示例内容:用户登陆之后往设置session设置登陆名,之后跳转到发送消息页面,加载页面时创建websocket连接,这时,springmvc拦截器拦截到websocket请求,把session中登陆名保存到attributes中,这个值会映射到...
14.1. AOP联盟 (MethodInvocation) 安全拦截器 14.1.1. 精确的 MethodSecurityIterceptor 配置 14.2. AspectJ (JoinPoint) 安全拦截器 15. 基于表达式的权限控制 15.1. 概述 15.1.1. 常用内建表达式 15.2. Web...