refactor(account): 统一账号管理API、完善权限检查和操作审计
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m17s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m17s
- 合并 customer_account 和 shop_account 路由到统一的 account 接口 - 新增统一认证接口 (auth handler) - 实现越权防护中间件和权限检查工具函数 - 新增操作审计日志模型和服务 - 更新数据库迁移 (版本 39: account_operation_log 表) - 补充集成测试覆盖权限检查和审计日志场景
This commit is contained in:
@@ -95,6 +95,36 @@ func IsRootUser(ctx context.Context) bool {
|
||||
return userType == constants.UserTypeSuperAdmin
|
||||
}
|
||||
|
||||
func GetRequestIDFromContext(ctx context.Context) *string {
|
||||
if ctx == nil {
|
||||
return nil
|
||||
}
|
||||
if requestID, ok := ctx.Value(constants.ContextKeyRequestID).(string); ok {
|
||||
return &requestID
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetIPFromContext(ctx context.Context) *string {
|
||||
if ctx == nil {
|
||||
return nil
|
||||
}
|
||||
if ip, ok := ctx.Value(constants.ContextKeyIP).(string); ok {
|
||||
return &ip
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetUserAgentFromContext(ctx context.Context) *string {
|
||||
if ctx == nil {
|
||||
return nil
|
||||
}
|
||||
if userAgent, ok := ctx.Value(constants.ContextKeyUserAgent).(string); ok {
|
||||
return &userAgent
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetUserToFiberContext 将用户信息设置到 Fiber context 的 Locals 中
|
||||
// 同时也设置到标准 context 中,便于 GORM 查询使用
|
||||
func SetUserToFiberContext(c *fiber.Ctx, info *UserContextInfo) {
|
||||
|
||||
Reference in New Issue
Block a user