mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30:23 +08:00
feat: 实现功能模块系统,支持模块的动态注册与启用控制
- 新增 ModuleRegistry 核心,支持模块注册、可用性检查和启用状态管理 - 新增模块管理 API(管理端和公共端),提供模块状态查询和启用控制 - 将 LDAP 功能迁移到模块系统,支持通过环境变量和数据库配置控制 - 前端新增模块管理页面和 store,支持模块启用/禁用操作 - 路由守卫集成模块状态检查,未激活模块的页面自动重定向 - 面包屑导航支持模块配置页面的层级显示 - Switch 组件新增 disabled 属性支持
This commit is contained in:
@@ -130,7 +130,19 @@ class LDAPService:
|
||||
def get_config_data(db: Session) -> Optional[Dict[str, Any]]:
|
||||
"""
|
||||
提前获取并解密配置,供线程池使用,避免跨线程共享 Session。
|
||||
|
||||
检查顺序:
|
||||
1. LDAP 模块是否激活(available && enabled)
|
||||
2. LDAP 配置是否启用
|
||||
3. 绑定密码是否可解密
|
||||
"""
|
||||
# 检查 LDAP 模块是否激活
|
||||
from src.core.modules import get_module_registry
|
||||
|
||||
registry = get_module_registry()
|
||||
if not registry.is_active("ldap", db):
|
||||
return None
|
||||
|
||||
config = LDAPService.get_config(db)
|
||||
if not config or config.is_enabled is not True:
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user