我的代码

public class WebLoginInterceptor implements HandlerInterceptor {@Autowiredprivate WeixinConfig weixinConfig;@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String url = request.getRequestURI();System.out.println("WebLoginInterceptor:" + url);HttpSession session = request.getSession();UserWeb userWeb = (UserWeb) session.getAttribute(WebConst.SESSION_USER_WEB);if (userWeb != null) return true;/** 用户未登录则引导访问如下请求 */String redirect_uri = "http://tmos.s1.natapp.cc/web/cs/weixin/auth";String link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + weixinConfig.getAppID() + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";response.sendRedirect(link);return false;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {}
}
public class AdminLoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String url = request.getRequestURI();System.out.println("AdminLoginInterceptor:" + url);HttpSession session = request.getSession();UserAdmin userAdmin = (UserAdmin) session.getAttribute(WebConst.SESSION_USER_ADMIN);if (userAdmin != null) return true;response.sendRedirect("/admin/login");return false;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {}
}
@Configuration
public class LoginInterceptorConfigurer extends WebMvcConfigurerAdapter {@BeanWebLoginInterceptor webLoginInterceptor() {return new WebLoginInterceptor();}@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 多个拦截器组成一个拦截器链// addPathPatterns 用于添加拦截规则// excludePathPatterns 用户排除拦截registry.addInterceptor(webLoginInterceptor()).addPathPatterns("/web/**").excludePathPatterns("/web/cs/weixin/auth").excludePathPatterns("/web/map/**");registry.addInterceptor(new AdminLoginInterceptor()).addPathPatterns("/admin/**").excludePathPatterns("/admin/login");super.addInterceptors(registry);}
}

转载于:https://www.cnblogs.com/bobi1234/p/7783514.html

【tmos】SpringBoot登录拦截相关推荐

  1. springBoot 登录拦截器

    1.首选创建一个继承HandlerInterceptor的拦截器 import javax.servlet.http.HttpServletRequest; import javax.servlet. ...

  2. SpringBoot登录拦截器

    创建一个包叫:interceptor 新建一个类:LoginInterceptor,这个类需要是实现HandlerInterceptor 接口 public class LoginIntercepto ...

  3. springboot整合shiro和session的详细过程和自定义登录拦截器

    文章目录 1.shiro依赖 2.shiro配置 shiro过滤器配置: 关联自定义的其他管理器 自定义会话工厂: 3.登陆时记录用户信息 4.shiro一些工具类的学习 5.自定义登录拦截器 shi ...

  4. SpringBoot(三):最简版登录拦截案例

    SpringBoot实现登录拦截案例 准备jar包 在springboot中想要展示页面,必须导入thymeleaf依赖 <dependency><groupId>org.sp ...

  5. SpringBoot——使用拦截器拦截未登录用户

    前置知识SpringBoot配置拦截器基于HandlerInterceptor接口实现,关键三个方法 preHandle()执行目标之前 postHandle()执行目标之后 afterComplet ...

  6. Springboot实现登录拦截的三种方式

    文章目录 1. 登录认证 1.1 介绍 1.2 方式 1.3 扩展 2. 实现 2.1 项目结构以及前置准备 2.2 过滤器实现登录拦截 2.3 拦截器实现登录拦截 2.4 AOP+自定义注解实现 2 ...

  7. 七、SpringBoot——用户登录Demo(国际化、表单重复提交,登录拦截器)

    一.CURD的Demo 1开发前准备工作 新建一个SpringBoot工程 引入starter-web maven依赖 引入html页面和assert文件夹里的样式文件等等 2 实现访问登录页面 方式 ...

  8. springboot的登录拦截机制

    转自:https://blog.csdn.net/qq_26555463/article/details/78296103 如果是一个后台的管理项目的,有些东西是不能直接就可以访问的,必须要登录才可以 ...

  9. Vue + Spring Boot 项目实战(七):前端路由与登录拦截器

    文章目录 前言 一.前端路由 二.使用 History 模式 三.后端登录拦截器 3.1. LoginController 3.2. LoginInterceptor 3.3. WebConfigur ...

最新文章

  1. 普渡大学计算机硕士申请条件,普渡大学计算机与信息技术理学硕士研究生申请要求及申请材料要求清单...
  2. java性能分析 linux,linux 系统性能分析
  3. Angular2入门教程-1
  4. 前端如何高效的与后端协作开发
  5. IOS开发之sqlite封装
  6. 如何对RTSP播放器做功能和性能评估
  7. SpringCloud Eureka服务治理
  8. alv界面允许数字输入负号_在Excel中输入这些字符,我被虐哭了
  9. A CAPTCHA Server Control for ASP.NET C# 版
  10. php怎么跟小程序链接,小程序的链接怎么提取?
  11. php部分---注册审核
  12. 微信小程序二手汽车拍卖系统源码【包调试】
  13. c语言调用树莓派usb摄像头,树莓派接多个USB摄像头,使用opencv打开指定的某一个摄像头...
  14. 华为网络设备调试命令(日常总结)
  15. 路由器密码重置(更改寄存器的值)
  16. 通达OAV12报表中心
  17. 安卓常用控件--列表视图
  18. 数据库------DQL操作
  19. 接口自动化测试平台Lego ------ 美团接口自动化测试超全实践【3000字长文】
  20. solor与MySQL怎么同步_solr 索引库同步数据库

热门文章

  1. 关于图像特征的提取【转】
  2. Delphi2010使用TImage打开jpeg图片错误的处理
  3. idea中实体类右击没有ptg_几个牛逼的IDEA插件,Java开发者撸码神器,还带动图的!...
  4. html5游戏加载动画,HTML5 战场3游戏的加载指示动画
  5. 如何查看外网ip_内网ip和外网ip的联系以及连接过程
  6. python处理心电图_ECG心电信号处理:使用WFDB对MIT-BIH数据集进行读取(Python)
  7. 上下位机通讯协议_上位机与下位机的区别通讯
  8. java desktop类 能打开共享文件夹中的文件吗_计算机二级之JAVA篇
  9. illegalargumentexception是什么异常_线程出现异常!应该如何处理?
  10. python基础实验报告答案_Python基础(上)实验报告