# 配置参数 (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清理任务每隔多少秒执行一次。

# 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攻击

上次更新:: 1/25/2021, 4:26:40 PM