Dev remove admin mode (#723)

* feat: remove admin mode
* feat: bugfix
---------
Co-authored-by: icy <icyoung520@gmail.com>
This commit is contained in:
Icyoung
2025-11-07 23:37:23 +08:00
committed by GitHub
parent 9ad3e99645
commit 062184054d
16 changed files with 160 additions and 180 deletions

View File

@@ -16,11 +16,6 @@ import (
// JWTSecret JWT密钥将从配置中动态设置
var JWTSecret []byte
// AdminMode 管理员模式标志
var AdminMode bool = false
// adminPasswordHash 管理员密码哈希(仅内存)
var adminPasswordHash string
// tokenBlacklist 用于登出后的token黑名单仅内存按过期时间清理
var tokenBlacklist = struct {
@@ -39,33 +34,9 @@ func SetJWTSecret(secret string) {
JWTSecret = []byte(secret)
}
// SetAdminMode 设置管理员模式
func SetAdminMode(enabled bool) {
AdminMode = enabled
}
// IsAdminMode 检查是否为管理员模式
func IsAdminMode() bool {
return AdminMode
}
// SetAdminPasswordFromPlain 通过明文设置管理员密码会使用bcrypt哈希成本12
func SetAdminPasswordFromPlain(plain string) error {
bytes, err := bcrypt.GenerateFromPassword([]byte(plain), 12)
if err != nil {
return err
}
adminPasswordHash = string(bytes)
return nil
}
// CheckAdminPassword 校验管理员密码
func CheckAdminPassword(plain string) bool {
if adminPasswordHash == "" {
return false
}
return bcrypt.CompareHashAndPassword([]byte(adminPasswordHash), []byte(plain)) == nil
}
// BlacklistToken 将token加入黑名单直到过期
func BlacklistToken(token string, exp time.Time) {