# 基础配置

# 描述

框架主要使用拦截器作为核心,依赖拦截器接口,使用spring提供接口WebMvcConfigurer配置该框架。

# 配置对象

QmSecurityContent - 静态方法配置对象

该对象提供了相应的静态方法提供配置

参数 说明
setTokenSecret 设置token加密秘钥
setHeaderTokenKeyName 设置请求头和响应头中携带token的字段名
setEncryptNumber 设置token加密次数,底层调用AES对称加密算法
setPassUris 设置排除URI校验集合
setRealm 设置自定义的realm (这里需要注意的是,自定义的realm如果需要spring注入内容请交由Spring管理)

# 示例

@Configuration
public class SecurityConfig implements WebMvcConfigurer {

    @Autowired
    private MyRealm myRealm;

    // 初始化QmSecurity安全框架
    // 重写WebMvcConfigurer的addInterceptors方法
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // setTokenSecret 设置token加密秘钥
        QmSecurityContent.setTokenSecret("shdioadnscoi21s90nbjio");
        // 设置请求头和响应头中携带token的字段名 默认为token
        QmSecurityContent.setHeaderTokenKeyName("token");
        // 设置加密次数 默认2次
        QmSecurityContent.setEncryptNumber(2);
        // 设置自定义的realm (这里需要注意的是,自定义的realm如果需要spring注入内容请交由Spring管理)
        QmSecurityContent.setRealm(myRealm);
        // 设置排除URI校验集合
        List<String> passUris = new ArrayList<>();
        //passUris.add("/**");
        QmSecurityContent.setPassUris(passUris);
        // 把框架添加到拦截器队列中,设置接管所有访问路径。
        QmSecurityInterceptor qmSecurityInterceptor = new QmSecurityInterceptor();
        // 添加拦截器
        InterceptorRegistration interceptor = registry.addInterceptor(qmSecurityInterceptor);
        // 添加拦截路径
        interceptor.addPathPatterns("/**");
        // 设置拦截器的优先级
        interceptor.order(2);
        // 添加静态路径排除
        interceptor.excludePathPatterns("/views/**");
    }

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
最近更新: 2020/2/10 上午11:32:05