springboot-登录拦截器

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

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

比如:

1 public class springApplication implements WebMvcConfigurer{
2 
3 }

然后在里面重写 addInterceptors方法

1 @Override
2     public void addInterceptors(InterceptorRegistry registry) {
3       
4 }

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

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

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

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

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/hezhicong/p/10077727.html