Documentation
¶
Index ¶
- type CacheAdapter
- type Permission
- type Policy
- type RBACManager
- func (m *RBACManager) AddPermission(ctx context.Context, roleCode, domain, resource, action string) error
- func (m *RBACManager) AddPolicies(ctx context.Context, policies [][]string) error
- func (m *RBACManager) AddPolicy(ctx context.Context, subject, domain, object, action string) error
- func (m *RBACManager) AddRoleInheritance(ctx context.Context, childRoleCode, parentRoleCode, domain string) error
- func (m *RBACManager) AssignRole(ctx context.Context, userUUID, roleCode, domain string) error
- func (m *RBACManager) BatchCheckPermission(ctx context.Context, userUUID string, permissions []Permission) (map[string]bool, error)
- func (m *RBACManager) CheckPermission(ctx context.Context, userUUID, domain, resource, action string) (bool, error)
- func (m *RBACManager) ClearPolicy(ctx context.Context) error
- func (m *RBACManager) CreateRole(ctx context.Context, code, name string) error
- func (m *RBACManager) DeleteRole(ctx context.Context, code string) error
- func (m *RBACManager) Enforcer() *casbinlib.Enforcer
- func (m *RBACManager) GetPermissions(ctx context.Context, roleCode, domain string) ([]*Permission, error)
- func (m *RBACManager) GetPolicy(ctx context.Context) ([]*Policy, error)
- func (m *RBACManager) GetRoleInheritance(ctx context.Context, roleCode, domain string) ([]string, error)
- func (m *RBACManager) GetRoles(ctx context.Context) ([]*Role, error)
- func (m *RBACManager) GetUserRoles(ctx context.Context, userUUID, domain string) ([]*Role, error)
- func (m *RBACManager) LoadPolicy() error
- func (m *RBACManager) RemovePermission(ctx context.Context, roleCode, domain, resource, action string) error
- func (m *RBACManager) RemovePolicies(ctx context.Context, policies [][]string) error
- func (m *RBACManager) RemovePolicy(ctx context.Context, subject, domain, object, action string) error
- func (m *RBACManager) RemoveRoleInheritance(ctx context.Context, roleCode, domain string) error
- func (m *RBACManager) RevokeRole(ctx context.Context, userUUID, roleCode, domain string) error
- func (m *RBACManager) SavePolicy() error
- type Role
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheAdapter ¶
type CacheAdapter interface {
Get(key string) (interface{}, error)
Set(key string, value interface{}, ttl int64) error
Delete(key string) error
}
CacheAdapter 缓存适配器接口
type Permission ¶
type Permission struct {
RoleCode string `json:"role_code"`
Domain string `json:"domain"`
Resource string `json:"resource"`
Action string `json:"action"`
CreatedAt time.Time `json:"created_at"`
}
Permission 权限
type Policy ¶
type Policy struct {
Subject string `json:"subject"`
Domain string `json:"domain"`
Object string `json:"object"`
Action string `json:"action"`
}
Policy 策略
type RBACManager ¶
type RBACManager struct {
// contains filtered or unexported fields
}
RBACManager RBAC 管理器
func NewRBACManager ¶
func NewRBACManager(adapter *casbinadapter.EntAdapter, cache CacheAdapter) (*RBACManager, error)
NewRBACManager 创建 RBAC 管理器
func (*RBACManager) AddPermission ¶
func (m *RBACManager) AddPermission(ctx context.Context, roleCode, domain, resource, action string) error
AddPermission 添加域内权限
func (*RBACManager) AddPolicies ¶
func (m *RBACManager) AddPolicies(ctx context.Context, policies [][]string) error
AddPolicies 批量添加策略
func (*RBACManager) AddPolicy ¶
func (m *RBACManager) AddPolicy(ctx context.Context, subject, domain, object, action string) error
AddPolicy 添加域内策略
func (*RBACManager) AddRoleInheritance ¶
func (m *RBACManager) AddRoleInheritance(ctx context.Context, childRoleCode, parentRoleCode, domain string) error
AddRoleInheritance 在域内添加角色继承关系(子角色继承父角色)
func (*RBACManager) AssignRole ¶
func (m *RBACManager) AssignRole(ctx context.Context, userUUID, roleCode, domain string) error
AssignRole 在域内分配角色给用户
func (*RBACManager) BatchCheckPermission ¶
func (m *RBACManager) BatchCheckPermission(ctx context.Context, userUUID string, permissions []Permission) (map[string]bool, error)
BatchCheckPermission 批量权限检查
func (*RBACManager) CheckPermission ¶
func (m *RBACManager) CheckPermission(ctx context.Context, userUUID, domain, resource, action string) (bool, error)
CheckPermission 域内权限检查
func (*RBACManager) ClearPolicy ¶
func (m *RBACManager) ClearPolicy(ctx context.Context) error
ClearPolicy 清空所有策略
func (*RBACManager) CreateRole ¶
func (m *RBACManager) CreateRole(ctx context.Context, code, name string) error
CreateRole 创建角色
func (*RBACManager) DeleteRole ¶
func (m *RBACManager) DeleteRole(ctx context.Context, code string) error
DeleteRole 删除角色
func (*RBACManager) Enforcer ¶
func (m *RBACManager) Enforcer() *casbinlib.Enforcer
Enforcer returns the underlying Casbin enforcer for advanced domain-aware use cases.
func (*RBACManager) GetPermissions ¶
func (m *RBACManager) GetPermissions(ctx context.Context, roleCode, domain string) ([]*Permission, error)
GetPermissions 获取角色域内权限
func (*RBACManager) GetPolicy ¶
func (m *RBACManager) GetPolicy(ctx context.Context) ([]*Policy, error)
GetPolicy 获取所有策略
func (*RBACManager) GetRoleInheritance ¶
func (m *RBACManager) GetRoleInheritance(ctx context.Context, roleCode, domain string) ([]string, error)
GetRoleInheritance 获取角色的域内父角色
func (*RBACManager) GetRoles ¶
func (m *RBACManager) GetRoles(ctx context.Context) ([]*Role, error)
GetRoles 获取所有角色
func (*RBACManager) GetUserRoles ¶
GetUserRoles 获取用户域内角色
func (*RBACManager) RemovePermission ¶
func (m *RBACManager) RemovePermission(ctx context.Context, roleCode, domain, resource, action string) error
RemovePermission 移除域内权限
func (*RBACManager) RemovePolicies ¶
func (m *RBACManager) RemovePolicies(ctx context.Context, policies [][]string) error
RemovePolicies 批量移除策略
func (*RBACManager) RemovePolicy ¶
func (m *RBACManager) RemovePolicy(ctx context.Context, subject, domain, object, action string) error
RemovePolicy 移除域内策略
func (*RBACManager) RemoveRoleInheritance ¶
func (m *RBACManager) RemoveRoleInheritance(ctx context.Context, roleCode, domain string) error
RemoveRoleInheritance 移除角色的域内继承关系
func (*RBACManager) RevokeRole ¶
func (m *RBACManager) RevokeRole(ctx context.Context, userUUID, roleCode, domain string) error
RevokeRole 在域内撤销角色