feat: complete pet SOP governance workflow

This commit is contained in:
Eric 1549169735@qq.com
2026-08-08 22:58:35 +08:00
parent 97a76250f7
commit 4b240499c2
85 changed files with 1316 additions and 269 deletions

View File

@@ -63,7 +63,31 @@ func Authenticate(service *auth.Service) gin.HandlerFunc {
response.Error(c, http.StatusUnauthorized, "INVALID_TOKEN", "登录状态已失效")
return
}
principal, err = service.RefreshPrincipal(principal)
if err != nil {
response.Error(c, http.StatusUnauthorized, "INVALID_MEMBERSHIP", "账号或企业成员身份已失效")
return
}
auth.SetPrincipal(c, principal)
c.Next()
}
}
func RequireAnyPermission(permissions ...string) gin.HandlerFunc {
return func(c *gin.Context) {
principal, ok := auth.PrincipalFromContext(c)
if !ok {
response.Error(c, http.StatusUnauthorized, "UNAUTHORIZED", "请先登录")
return
}
if !auth.HasAnyPermission(principal, permissions...) {
response.Error(c, http.StatusForbidden, "FORBIDDEN", "没有执行该操作的权限")
return
}
c.Next()
}
}
func RequirePermission(permission string) gin.HandlerFunc {
return RequireAnyPermission(permission)
}