小伙伴们大家好,今天给大家分享一个简单的springboot版登录拦截器

首先我们需要在springboot的启动类中让它实现WebMvcConfigurer 这个接口

比如:

 public class springApplication implements WebMvcConfigurer{

 }

然后在里面重写 addInterceptors方法

 @Override
public void addInterceptors(InterceptorRegistry registry) { }

然后在里面添加一个拦截器

 @Override
public void addInterceptors(InterceptorRegistry registry) {
//添加拦截器并过滤掉登录的请求
String[] exAdmin = new String[] { "/admin/login", "/admin/doLogin" };
registry.addInterceptor(getAdminInterceptor()).addPathPatterns("/admin/**").excludePathPatterns(exAdmin); }

上面数组中为过滤掉的路径,意思就是只要你的请求是这个路径那么我就不进入拦截器里面,比如说在登录的时候就不需要进行拦截

这个拦截器的拦截规则为:/admin/** 意思是只要是admin为前缀的请求,都进行拦截。

 public class AdminInterceptor implements HandlerInterceptor {
@Autowired
HttpSession session; @Override
public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object o) throws Exception {
Admin admin = (Admin)session.getAttribute("Admin"); //获取登陆者的信息
if (admin != null){ // 如果当前人没有登录就不能过这个拦截器,如果已经登录就可以过
  return true;
10       }
return false;
}
}

在拦截器中,我们需要让这个拦截器实现 HandlerInterceptor 接口

再重写里面的preHandle方法 具体的拦截规则可以在里面制定,本人只是简单的制定的如果登录就放行,没有登录就不放行。

朋友们有问题可以提问,没有问题关注一下可好,谢谢

最新文章

  1. Java线程新特征——Java并发库
  2. [转]android 获取视频帧
  3. CCF 201612-2 火车购票 (暴力)
  4. 在collection view中加入 NavigationController问题
  5. android82 启动Actvity和Activity的生命周期
  6. altium designer不经过原理图直接在空白pcb上加封装然后画线
  7. std::map的insert和下标[]访问
  8. Windows 2003】利用域&&组策略自动部署软件
  9. NodeJS初介
  10. H5直播避坑指南
  11. 菜鸟先飞C#学习总结(一)
  12. 获取安卓应用APK包名的方法
  13. 通过Mybatis原始Dao来实现curd操作
  14. MVC 验证规则扩展(当RoleID 属性值为A,B 时,Email 属性必填)
  15. python chardet
  16. 给pdf添加导航目录
  17. Velocity之初印象
  18. 关于vue的基础概念
  19. requestAnimationFrame 完美兼容封装
  20. OE中的bitbake使用

热门文章

  1. [leetcode]438. Find All Anagrams in a String找出所有变位词
  2. memcache缓存失效
  3. WCF的例子
  4. Adplus 抓取Crash Dump
  5. 读书笔记---改善c#编程的157个建议
  6. 面向对象设计模式纵横谈:Bridge 桥接模式(笔记记录)
  7. Restful API设计要点
  8. dotnet core 发布环境变量配置 dev/stage/prod
  9. JPA数据懒加载LAZY和实时加载EAGER(转)
  10. 今天研究了一下手机通信录管理系统(C语言)