前言
真没想到这么久了, 还有springboot1.x的项目, 依然处于开发阶段…
环境介绍:
jdk: 1.8
SpringBoot: 1.5.9.RELEASE
SaToken: 1.35.0.RC
直接上demo
完整demo见github
这里是sa-token对springboot2.x的demo
这里仅对关键部分写个注释, 解法如下:
- 将实现
WebMvcConfigurer
接口替换为继承WebMvcConfigurerAdapter
类- 继承
SaInterceptor
并添加afterCompletion
和postHandle
两个方法的默认实现(空方法即可)- 正常使用即可
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* sa-token
*
* @author ly-chn
* @see <a href="https://sa-token.dev33.cn/">官方文档</a>
*/
@Configuration
public class SaTokenConfig extends WebMvcConfigurerAdapter {
/**
* 注册Sa-Token的注解拦截器,打开注解式鉴权功能
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SaInterceptor(handler -> {
StpUtil.checkLogin();
}) {
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
})
.addPathPatterns("/**")
.excludePathPatterns("/error", "以及其他登录等等功能");
}
}
如有问题欢迎继续加入SaToken交流群讨论