package {{ package.Common }}.config; import cn.dev33.satoken.interceptor.SaInterceptor; import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import javax.annotation.Resource; import java.util.List; /** * SaToken配置 * @Author: {{author}} * @Date: {{date}} * @Wechat: {{ wechat }} * 解决@RequestAttribute、@RequestParam和@RequestBody三种类型的时间类型参数接收与转换问题 */ @Configuration public class SaTokenConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { // 注册 Sa-Token 拦截器,定义详细认证规则 registry.addInterceptor(new SaInterceptor(handler -> { // 指定一条 match 规则 SaRouter .match("/models/**") // 拦截的 path 列表,可以写多个 */ // .notMatch("/models/health-user/login") // 排除掉的 path 列表,可以写多个 .check(r -> StpUtil.checkLogin()); // 要执行的校验动作,可以写完整的 lambda 表达式 //拦截并写操作日志 // SaRouter.match(r).check(t->{ // SaLog.info("操作日志:{}", SaLog.getParamJson()); // SaLog.info("操作日志:{}", SaLog.getRequestBody()); // ); })).addPathPatterns("/**"); } }