增加配置热重载

This commit is contained in:
user123456
2025-06-11 15:55:36 +08:00
parent 4977266586
commit b2ebcf244a
4 changed files with 332 additions and 171 deletions

View File

@@ -223,4 +223,17 @@ func (ac *AccessController) checkList(matches, list []string) bool {
}
}
return false
}
// 🔥 Reload 热重载访问控制规则
func (ac *AccessController) Reload() {
ac.mu.Lock()
defer ac.mu.Unlock()
// 访问控制器本身不缓存配置每次检查时都会调用GetConfig()
// 所以这里只需要确保锁的原子性实际的重载在GetConfig()中完成
// 可以在这里添加一些初始化逻辑,比如预编译正则表达式等
// 目前访问控制器设计为无状态的,每次检查都读取最新配置
// 这样设计的好处是配置更新后无需额外处理,自动生效
}