Spring Boot2.0阻拦器简单实现判断能否登录
在进行项目开发的时候使用springboot框架用到阻拦器时发现2.0以后原来的笼统类WebMvcConfigurerAdapter已经过时了,去官网查文档2.x版本要实现阻拦器功能改为需要继承WebMvcConfigurer接口。
实现阻拦器大致分为两步
一、创立我们自己的阻拦器类并实现 HandlerInterceptor 接口
//创立阻拦器BackInterceptor并实现接口HandlerInterceptor
public class BackInterceptorimplements HandlerInterceptor {
//重写preHandle方法
????@Override? ?
????public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler)? throws Exception {
????????//判断session里能否有user?
??????????? if (null == request.getSession().getAttribute(“user”)) {
????????????????????return false;
? ? ? ????? ·}
????????????return true;
????}
}?
二、重写WebMvcConfigurerAdapter中的addInterceptors方法把自己设置的阻拦器类增加进来就可
//创立一个实现WebMvcConfigurer接口的类
? public class MyWebMvcConfigurerAdapterimplements WebMvcConfigurer {
????????//获取阻拦器的Bean
????????@Bean
????????public HandlerInterceptorgetBackInterceptor() {
????????????????return new BackInterceptor();
????????}
????????/**
????????*重写addInterceptors方法
????????* addPathPatterns:需要阻拦的访问路径
????????* excludePathPatterns:不需要阻拦的路径, String数组类型可以写多个用”,”分割
????????*/
????????@Override
????????public void addInterceptors(InterceptorRegistry registry){
????????????????registry.addInterceptor(getBackInterceptor()).addPathPatterns(“/admin/**”).excludePathPatterns(“/toLogin”, “/admin/login”);
????????}
}?
阻拦器测试,阻拦了addPathPatterns(“/admin/**”)也就是admin下的所有资源
可以看到访问路径http://localhost:10010/admin后显示的是错误页面
下面试一下访问不需要阻拦的路径excludePathPatterns(“/toLogin”)
http://localhost:10010/toLogin
成功访问到登录页面
欢迎关注微信公众号:看到我请叫我滚去学习
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Spring Boot2.0阻拦器简单实现判断能否登录