Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -36,9 +36,10 @@ type JWTConfig struct {
|
||||
|
||||
// SessionConfig 登录会话与并发限制(全局默认,可被每店 session_policy 覆盖)。
|
||||
type SessionConfig struct {
|
||||
LimitDesktop int `mapstructure:"limit_desktop"` // 桌面端(win/mac/linux)最大并发会话,0=禁止
|
||||
LimitMobile int `mapstructure:"limit_mobile"` // 移动端(android/ios)最大并发会话,0=禁止
|
||||
LimitWeb int `mapstructure:"limit_web"` // web 端最大并发会话,0=禁止
|
||||
LimitTotal int `mapstructure:"limit_total"` // 单用户跨全部平台的最大并发会话总数(超额踢最旧)
|
||||
LimitDesktop int `mapstructure:"limit_desktop"` // 桌面端(win/mac/linux)平台闸门,0=禁止该平台登录
|
||||
LimitMobile int `mapstructure:"limit_mobile"` // 移动端(android/ios)平台闸门,0=禁止该平台登录
|
||||
LimitWeb int `mapstructure:"limit_web"` // web 端平台闸门,0=禁止该平台登录
|
||||
MaxFailures int `mapstructure:"max_failures"` // 同一账号连续登录失败几次后锁定
|
||||
IPMaxFailures int `mapstructure:"ip_max_failures"` // 同一 IP 跨账号累计失败几次后锁定该 IP(防单 IP 撞多账号)
|
||||
LockMinutes int `mapstructure:"lock_minutes"` // 锁定时长(分钟)
|
||||
@@ -92,7 +93,8 @@ func Load() {
|
||||
viper.SetDefault("server.cors_origin", "*")
|
||||
viper.SetDefault("jwt.access_expire_min", 60)
|
||||
viper.SetDefault("jwt.refresh_expire_h", 168) // 7天
|
||||
viper.SetDefault("session.limit_desktop", 2)
|
||||
viper.SetDefault("session.limit_total", 5) // 单用户跨全部平台合计并发上限
|
||||
viper.SetDefault("session.limit_desktop", 2) // 平台闸门:>0=允许,0=禁止该平台(数值不再作分平台上限)
|
||||
viper.SetDefault("session.limit_mobile", 2)
|
||||
viper.SetDefault("session.limit_web", 2) // 默认不禁 web(官网挂着 Web 版 app);设 0 可禁
|
||||
viper.SetDefault("session.max_failures", 5)
|
||||
|
||||
Reference in New Issue
Block a user