## 前言 * SpringBlade 默认采用JWT分布式无状态认证的模式,无需配置可直接启动 * 考虑到企业使用中遇到的各种场景,SpringBlade 对Token策略进行了改良,在满足安全性的前提,又不影响JWT的各种特性 ## 签名配置 * JWT加密生成Token的时候需要指定签名,具体可使用签名生成器生成,格式为数字+字母大小写随意32位以上的字符串 ```yaml #blade配置 blade: #token配置 token: #token签名 #使用 @org.springblade.test.SignKeyGenerator 获取 sign-key: 请配置32位签名 ``` ## 令牌放行 * SpringBlade的接口默认规则是全部需要进行token认证,但是有些接口我们可以匿名访问,无需token进行认证,那么我们就可以通过以下几种方式进行配置放行 * 如果使用cloud,则无需填写blade-test,因为cloud版本通过服务名进行转发,服务名是不存在于路由的 * 如果用的是boot,则需要填写blade-test,因为boot版为了保持和cloud路由地址一致,则需要加上blade-test,所以在路由内,配置的时候需要加上 * 配置文件配置方式如下 ```yaml #blade配置 blade: secure: skip-url: - /blade-test/notice/list - /blade-system/test/** ``` * 代码内配置方式如下 ~~~ /** * Blade配置 * * @author SpringBlade */ @Configuration(proxyBeanMethods = false) public class BladeConfiguration implements WebMvcConfigurer { @Bean public SecureRegistry secureRegistry() { SecureRegistry secureRegistry = new SecureRegistry(); secureRegistry.setEnabled(true); secureRegistry.excludePathPatterns("/blade-test/notice/list"); secureRegistry.excludePathPatterns("/blade-system/test/**"); return secureRegistry; } } ~~~ * 这样一来,我们访问对应的接口地址,就可以无需传递Token进行认证了