# 配置参数 (v1.0.2)
# 说明
Heimdall 框架支持零配置使用。
全局配置前缀:heimdall.security.
- 在单独使用 Heimdall-core 核心包的情况下,配置文件默认 解析类路径下:heimdall.properties文件。
- 使用heimdall-starter-spring-boot,则框架会使用 Spring 的自动配置类自动注入配置。可直接在 application.yml(properties)中设置,支持配置参数自动提示。 如下:
heimdall:
security:
authority:
sys-cached-enabled: true
user-cached-enabled: true
sys-cached-key: 'heimdall:sysAuthorities'
user-cached-key: 'heimdall:userAuthorities'
sys-expire: 24
user-expire: 24
session:
session-name: HSessionId
global-session-timeout: 300
session-id-prefix: "heimdall:sessions:"
active-session-cache-key: "heimdall:active-sessions:"
active-user-cache-key: "heimdall:active-users:"
renew: true
ratio: 0.5
concurrent-login: false
scheduler:
initial-delay: 100
period: 300
cookie:
enabled: false
name: ${heimdall.security.session.session-name}
max-age: -1
path: /
http-only: true
secure: false
version: 0
# 参数说明
# authority 授权缓存配置
# sys-cached-enabled
- 类型: Boolean
- 默认: true
是否开启系统权限缓存,如果关闭,则每次系统授权都会直接从接口服务(数据库)获取系统权限。默认开启。
# user-cached-enabled
- 类型: Boolean
- 默认: true
是否开启用户权限缓存,如果关闭,则每次系统授权都会直接从接口服务(数据库)获取用户的权限。默认开启。
# sys-cached-key
- 类型: String
- 默认: heimdall:sysAuthorities
系统权限的缓存 key.
# user-cached-key
- 类型: String
- 默认: heimdall:userAuthorities
用户权限的缓存 key.
# sys-expire
- 类型: Long
- 默认: 24
- 单位: 小时
系统权限在缓存中的缓存时长。超过此时长,将会被自动清除。
# user-expire
- 类型: Long
- 默认: 24
- 单位: 小时
用户权限在缓存中的缓存时长。超过此时长,将会被自动清除。
# Session 配置参数
# session-name
- 类型: String
- 默认: HSessionId
SessionId 在请求中的参数名称,系统会根据此名称来解析请求参数中携带的 SessionID。 如:
String sessionId = request.getHeader('${session-name}')
String sessionId = request.getParameter('${session-name}');
# global-session-timeout
- 类型: Long
- 默认: 3600
- 单位: 秒
全局Session过期时间,单位秒,默认 3600秒。Session 闲置时长超过此时间将会被系统自动清除。
# session-id-prefix
- 类型: String
- 默认: heimdall:sessions:
SessionID 在缓存中的默认前缀。最终 SessionID 将会以 session-id-prefix+SessionId 形式存储在缓存中。
# active-session-cache-key
- 类型: String
- 默认: heimdall:active-sessions:
在线 SessionId 分页缓存 ZSet 的 key 名称。
注意: 仅对 Redis 缓存有效。
# active-user-cache-key
- 类型: String
- 默认: heimdall:active-users:
在线 用户 缓存 Hash 的 key 名称。
注意: 仅对 Redis 缓存有效。
# renew
- 类型: Boolean
- 默认: true
是否续签 Session。当用户访问系统资源的时候,是否对 Session 的过期时间进行自动续期。
注意: 仅对 Redis 缓存有效。
# ratio
- 类型: Double
- 默认: 0.5
当 Session 过期时间低于多少百分比的时候,执行续签操作。默认:50%
注意: 仅对 Redis 缓存有效。
# concurrent-login
- 类型: Boolean
- 默认: false
重复登录的处理策略。false: 踢掉前面的,true: 拒绝后来的
# scheduler 定时任务设置
# initial-delay
- 类型: Long
- 默认: 600
- 单位: 秒
无效Session清理任务在系统启动多少秒后启动。
# period
- 类型: Long
- 默认: 600
- 单位: 秒
无效Session清理任务每隔多少秒执行一次。
# Cookie 配置参数
# enabled
- 类型: Boolean
- 默认: true
是否开启 Cookie
# name
- 类型: String
- 默认: HSessionId
Cookie名称,建议与 Session Name 保持一致。
# version
- 类型: Integer
- 默认: 0
Cookie 版本
# comment
- 类型: String
- 默认: ""
Cookie 注释说明
# domain
- 类型: String
- 默认: ""
Cookie 域名
# max-age
- 类型: Integer
- 默认: -1
- 单位:秒
Cookie 最大生存时间
# path
- 类型: String
- 默认: "/"
Cookie Path
# secure
- 类型: Boolean
- 默认: false
是否开启SSL 安全 Cookie,也即是 Https 协议的时候,Cookie 才会被发送。能有效的防止XSS攻击
# http-only
- 类型: Boolean
- 默认: true
只能通过 http 访问 Cookie。开启后,通过程序(JS脚本、Applet等)将无法读取到Cookie信息。能有效的防止XSS攻击