Seed fine-grained console permissions (goose 00065), gate admin handlers by system:* keys, and persist settings change audits for all upserts. KB ops and whitelist consumers stay deferred.
33 lines
2.4 KiB
Go
33 lines
2.4 KiB
Go
package authz
|
||
|
||
// PermissionCatalogEntry 权限目录项。
|
||
type PermissionCatalogEntry struct {
|
||
Key string `json:"key"`
|
||
Resource string `json:"resource"`
|
||
Action string `json:"action"`
|
||
RiskLevel string `json:"risk_level"`
|
||
Description string `json:"description,omitempty"`
|
||
}
|
||
|
||
// PermissionCatalog 返回系统权限目录(与 DB seed 对齐,供前端渲染)。
|
||
func PermissionCatalog() []PermissionCatalogEntry {
|
||
return []PermissionCatalogEntry{
|
||
{Key: "project:create", Resource: "project", Action: "create", RiskLevel: "normal", Description: "创建新项目"},
|
||
{Key: "project:assign_lead", Resource: "project", Action: "assign_lead", RiskLevel: "elevated", Description: "指派项目负责人"},
|
||
{Key: PermManageProjectMembers, Resource: "project", Action: "manage_members", RiskLevel: "elevated", Description: "管理项目成员(添加/调整/移出)"},
|
||
{Key: PermManage, Resource: "system", Action: "manage", RiskLevel: "critical", Description: "系统权限管理(含全部 system:*)"},
|
||
{Key: PermSystemOverview, Resource: "system", Action: "overview", RiskLevel: "elevated", Description: "查看系统总览"},
|
||
{Key: PermSystemKBRead, Resource: "system", Action: "kb_read", RiskLevel: "elevated", Description: "查看知识库运维状态"},
|
||
{Key: PermSystemFeaturesRead, Resource: "system", Action: "features_read", RiskLevel: "elevated", Description: "查看特性开关"},
|
||
{Key: PermSystemSettingsRead, Resource: "system", Action: "settings_read", RiskLevel: "elevated", Description: "查看系统设置"},
|
||
{Key: PermSystemSettingsWrite, Resource: "system", Action: "settings_write", RiskLevel: "critical", Description: "修改系统设置"},
|
||
{Key: PermSystemAuditRead, Resource: "system", Action: "audit_read", RiskLevel: "elevated", Description: "查看系统设置审计日志"},
|
||
{Key: "workflow:config_visibility", Resource: "workflow", Action: "config_visibility", RiskLevel: "elevated"},
|
||
{Key: "doc:override_visibility", Resource: "document", Action: "override_visibility", RiskLevel: "elevated"},
|
||
{Key: "doc:export", Resource: "document", Action: "export", RiskLevel: "normal"},
|
||
{Key: "workflow:view_all", Resource: "workflow", Action: "view_all", RiskLevel: "normal"},
|
||
{Key: "workflow_defs.publish", Resource: "workflow_defs", Action: "publish", RiskLevel: "elevated"},
|
||
{Key: "templates.publish", Resource: "templates", Action: "publish", RiskLevel: "elevated"},
|
||
}
|
||
}
|