标签:拦截器 springboot 登录 request session registry 简单 addPathPatterns excludePathPattern
首先创建一个类让他继承 HandlerInterceptor接口
实现其中的
preHandle
postHandle
afterCompletion
方法,这三个方法分别作用于请求来的前中后(顾名思义),一般会在登录成功之后再session域中放入用户登录的有关信息,
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session= request.getSession();
User user=(User) session.getAttribute("user");
if(user!=null){
return true;
}
//拦截住跳转到登录页
session.setAttribute("msg","请先登录!");
response.sendRedirect("/");
return false;
}
(关于request.getSession()与request.getSession(false)的区别,前者会先对是否已经有session做判断,没有回创建一个,而后者只取,如果没有返回null)
接下来写配置类,有与springboot框架基本舍弃了之前老项目xml配置文件,本人不太会操作properties或者yml配置文件也可以写配置类,其到同样的作用,
对于传统的xml文件也可以使用@ImportResources注解来引入。
@Configuration//次类为配置类==xml
public class AdminWebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
WebMvcConfigurer.super.addInterceptors(registry);
String[] addPathPatterns = {"/**"};//拦截所有请求
String[] excludePathPatterns = {"/index","/", "/login", "/css/**", "/fonts/**", "/images/**", "/js/**"};
registry.addInterceptor(new LoginInterceptor())
.addPathPatterns(addPathPatterns)
.excludePathPatterns(excludePathPatterns);
}
}
addPathPatterns:要拦截的请求
excludePathPatterns:要放行的请求,一般与登录相关的请求和静态资源文件是需要放行的。
标签:拦截器,springboot,登录,request,session,registry,简单,addPathPatterns,excludePathPattern 来源: https://www.cnblogs.com/msboke/p/15423043.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。