feat: add auth provider boundary
This commit is contained in:
+11
-8
@@ -61,24 +61,27 @@
|
||||
- 失败时返回错误给前端。
|
||||
- 平台依赖或能力缺失时,不应导致主窗口不可启动。
|
||||
|
||||
## 目标新增服务
|
||||
|
||||
### AuthService
|
||||
|
||||
目标方法:
|
||||
文件:`internal/services/auth_service.go`
|
||||
|
||||
- `Login(username string, password string) (Session, error)`:登录并返回会话。
|
||||
- `Logout() error`:退出当前会话。
|
||||
- `GetCurrentSession() (Session, error)`:读取当前会话。
|
||||
- `GetAuthProviders() []models.AuthProviderOption`:返回可用 provider 列表。
|
||||
- `GetAuthMode() string`:读取当前 auth provider。
|
||||
- `SetAuthMode(mode string) error`:切换 `local` 或 `remote` provider。
|
||||
- `Login(provider string, username string, password string) (models.AuthSession, error)`:登录并返回会话。
|
||||
- `Logout() error`:退出当前会话。
|
||||
- `GetCurrentSession() (models.AuthSession, error)`:读取当前有效会话;无会话时返回空 session。
|
||||
|
||||
约束:
|
||||
|
||||
- 前端不得写死固定账号密码。
|
||||
- `LocalAuthProvider` 只用于演示和离线模式。
|
||||
- `RemoteAuthProvider` 用于真实后端登录。
|
||||
- `LocalAuthProvider` 只用于演示和离线模式,默认账号来自后端初始化配置。
|
||||
- 默认本地演示账号:`admin` / `admin123`;密码在数据库中以 salt + SHA-256 hash 保存,不在前端页面或绑定中保存。
|
||||
- `RemoteAuthProvider` 用于真实后端登录,目前保留边界并返回未配置错误。
|
||||
- 登录成功、失败和退出必须写审计日志。
|
||||
|
||||
## 目标新增服务
|
||||
|
||||
### AuditLogService
|
||||
|
||||
目标方法:
|
||||
|
||||
Reference in New Issue
Block a user