第一步:在工程目录下创建两个文件夹和两个文件
文件夹名称为: config
和 interceptor
文件名称为: MyWebConfig
和 LoginInterceptor
如下图所示:
第二步:修改 LoginInterceptor.java
这个文件
package com.luocome.blog.interceptor;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author 微风
* @version 1.0
* @date 2021/1/31 12:22
*
* 功能 : 登录拦截器
*/
//1. 首先需要继承HandlerInterceptorAdapter
public class LoginInterceptor extends HandlerInterceptorAdapter {
//2. 实现preHandle进行预处理
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {
//3. 判断session是否存在用户 等于空的话重定向到登录界面
if(request.getSession().getAttribute("user") == null) {
response.sendRedirect("/admin");
return false;
}
return true;
}
}
第三步:修改 MyWebConfig.java
这个文件
package com.luocome.blog.config;
import com.luocome.blog.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author 微风
* @version 1.0
* @date 2021/1/31 12:28
*/
//4. 创建一个自己的配置类(我取得名字为MyWebConfig) 实现 WebMvcConfigurer
@Configuration
public class MyWebConfig implements WebMvcConfigurer {
//5. 重写addInterceptors 这个方法
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor())
//6. 过滤哪些路径
.addPathPatterns("/admin/**")
//7. 需要排除掉的路径
.excludePathPatterns("/admin")
.excludePathPatterns("/admin/login");
}
}
5 条评论
为什么我之前没看到这个文章呢→_→
tt
楼主为什么不能放代码呢!
就是因为你不好好敲一遍,直接把我代码粘进去。唉,难受
因为你最爱复制代码了