Skip to content

yml配置

miemieYaho edited this page Aug 16, 2024 · 1 revision

配置结构

shaun:
  ......
  security:
    ......
  actuator:
    ......
  thirdParty:
    ......

基础配置(shaun)

model

  • 类型: InterceptModel
  • 默认值: INTERCEPTOR
  • 可选项: WEB_FILTER

INTERCEPTOR 使用springHandlerInterceptor 功能实现拦截
WEB_FILTER 使用springOncePerRequestFilter 功能实现拦截

stateless

  • 类型: boolean
  • 默认值: true

标识项目: 是否-前后端分离

sessionOn

  • 类型: boolean
  • 默认值: false

标识项目: 是否-启用session

loginPath

  • 类型: String
  • 默认值: null

登录页面的path

配置后会自动加入地址过滤链,避免请求该地址被拦截
并且前后端不分离下访问授权保护的页面未通过鉴权会被重定向到登录页

matcherNames

  • 类型: String
  • 默认值: none

基于pac4jMatchingChecker功能

详情查看源码的注释,全局地址生效,早于所有其他拦截器

安全配置(shaun.security)

enable

  • 类型: boolean
  • 默认值: true

是否启用安全功能

annotation

  • 类型: boolean
  • 默认值: true

是否启用基于注解的鉴权功能

jwt.type

  • 类型: JwtType
  • 默认值: DEFAULT
  • 可选值: ONLY_ENCRYPTIONONLY_SIGNATURENONE

jwt 模式

详情查看源码的注释

jwt.salt

  • 类型: String
  • 默认值: 随机的32位字符串

jwt 盐值(默认只支持 32 位字符)

jwt.expireTime

  • 类型: String
  • 默认值: null

jwt 超时时间

详情查看源码的注释

extractor.location

  • 类型: TokenLocation
  • 默认值: HEADER
  • 可选值: COOKIEPARAMETERHEADER_OR_COOKIEHEADER_OR_PARAMETERHEADER_OR_COOKIE_OR_PARAMETER

token 的存放位置

extractor.header

  • 类型: Header
  • 默认值: new Header()

配置 Header

extractor.cookie

  • 类型: Cookie
  • 默认值: new Cookie()

配置 Cookie

extractor.parameter

  • 类型: Parameter
  • 默认值: new Parameter()

配置 Parameter

excludePath.path

  • 类型: List<String>
  • 默认值: null

不需要安全拦截的path

excludePath.branch

  • 类型: List<String>
  • 默认值: null

不需要安全拦截的path的统一basePath

excludePath.regex

  • 类型: List<String>
  • 默认值: null

不需要安全拦截的path的正则表达式

logoutPath

  • 类型: String
  • 默认值: null

登出请求的path

请求该地址会自动调用 {@link SecurityManager#logout(TokenProfile)} 前后端不分离下会重定向到 loginUrl

skipAuthenticationRolePermission

  • 类型: String
  • 默认值: shaun-admin-role-permission

跳过鉴权的 role 和 permission 的表现字符串(相当于系统超管)

authorizerNames

  • 类型: String
  • 默认值: null

基于pac4jAuthorizationChecker功能

详情查看源码的注释

spring-actuator配置(shaun.actuator)

如果检测到项目里有 spring-boot-starter-actuator 该配置自动生效

enable

  • 类型: boolean
  • 默认值: true

是否启用对 actuator 地址的支持

如果不启用则 {@link #basePath} 的值也会被安全拦截器拦截检查用户token状态(不建议) 如果不启用,为了 actuator 的安全性建议参考 {@link ActuatorFilter} 实现一个 filter 注入到 spring 中

basePath

  • 类型: String
  • 默认值: /actuator

保持与 management.endpoints.web.base-path 的值一致

username

  • 类型: String
  • 默认值: null

password一起提供Basic Auth的基础防护

https://learning.postman.com/docs/sending-requests/authorization/#basic-auth

password

  • 类型: String
  • 默认值: null