介绍
小编给大家分享一下SpringBoot拦截器如何实现登录拦截,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
<强> SpringBoot拦截器可以做什么强>
可以对URL路径进行拦截,可以用于权限验证,解决乱码,操作日志记录,性能监控,异常处理等。
<强> SpringBoot拦截器实现登录拦截强>
<强>砰的一声。xml: 强>
& lt; ?xml version=?.0”;编码=癠TF-8" ?比; http://maven.apache.org/POM/4.0.0" & lt;项目xmlns=?xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance" ,xsi: schemaLocation=癶ttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"的在; & lt; modelVersion> 4.0.0 & lt; parent> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-parent & lt; version> 2.0.0.RELEASE & lt; relativePath/比; & lt;/parent> & lt; groupId> com.wyj & lt; artifactId> springboot-interceptor01 & lt; version> 0.0.1-SNAPSHOT & lt; name> springboot-interceptor01 & lt; description> springboot拦截器& lt;/description> & lt; properties> & lt; java.version> 1.8 & lt;/java.version> & lt;/properties> & lt; dependencies> & lt; !——springboot祝辞 & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-devtools & lt; scope> runtime & lt; optional> true & lt;/dependency> & lt; !——lombok祝辞 & lt; dependency> & lt; groupId> org.projectlombok & lt; artifactId> lombok & lt; optional> true & lt;/dependency> & lt; !——thymeleaf祝辞 & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-thymeleaf & lt;/dependency> & lt;/dependencies> & lt; build> & lt; finalName> springboot-interceptor01 & lt; plugins> & lt; plugin> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-maven-plugin & lt;/plugin> & lt;/plugins> & lt;/build> & lt;/project>
<强> WebMvcConfigurer: 强>继承WebMvcConfigurationSupport类,重写addInterceptors方法
/* * *在springboot2.0.0之后,WebMvcConfigurerAdapter已经过时了 *会使用WebMvcConfigurer或者WebMvcConfigurationSupport替代 * * @author wyj * @create 2019-06-01 21:48 */@ configuration 公开课WebMvcConfigurer延伸WebMvcConfigurationSupport {/* * *在springboot2.0.0之前继承WebMvcConfigurerAdapter类,重写addInterceptors方法 * * @param注册表 *///@Override//公共空addInterceptors (InterceptorRegistry注册表){///* *//*拦截器按照顺序执行,如果不同拦截器拦截存在相同的URL,前面的拦截器会执行,后面的拦截器将不执行//*///注册表。addInterceptor(新AuthorityInterceptor ())//.addPathPatterns (“/user/* *“);//super.addInterceptors(注册表);//}/* * *在springboot2.0.0之后实现WebMvcConfigurer接口,重写addInterceptors方法 * * @param注册表 *///@Override//公共空addInterceptors (InterceptorRegistry注册表){///* *//*拦截器按照顺序执行,如果不同拦截器拦截存在相同的URL,前面的拦截器会执行,后面的拦截器将不执行//*///注册表。addInterceptor(新AuthorityInterceptor ())//.addPathPatterns (“/user/* *“);//}/* * *在springboot2.0.0之后继承WebMvcConfigurationSupport类,重写addInterceptors方法 * * @param注册表 */@Override 保护无效addInterceptors (InterceptorRegistry注册表){/* * *拦截器按照顺序执行,如果不同拦截器拦截存在相同的URL,前面的拦截器会执行,后面的拦截器将不执行 */注册表。addInterceptor(新AuthorityInterceptor ()) .addPathPatterns (“/user/* *“); super.addInterceptors(注册表); } }
<>强AuthorityInterceptor: >强实现<强> HandlerInterceptor