Documentation ¶
Index ¶
- Constants
- type ApiPermission
- type CacheStrategy
- type CachedEnforcer
- func (s *CachedEnforcer) AddRolePolicy(roleName string, domain string, apis []*entity.Api) (result interface{}, err error)
- func (s *CachedEnforcer) DeleteRolePolicy(roleName string, domain string) (result interface{}, err error)
- func (s *CachedEnforcer) IsWhileList(path string, method string) bool
- func (s *CachedEnforcer) LoadWhileList(apis []*entity.Api) error
- type PermissionHolder
- func (s *PermissionHolder) CheckUserAccessApi(uid string, path string, method string) error
- func (s *PermissionHolder) FindApiPermission(path string, method string) (*ApiPermission, error)
- func (s *PermissionHolder) FindUserPermission(uid string) (*UserPermission, error)
- func (s *PermissionHolder) LoadApi(path string, method string) (*ApiPermission, error)
- func (s *PermissionHolder) LoadRole(rid string) (*RolePermission, error)
- func (s *PermissionHolder) LoadUser(uid string) (*UserPermission, error)
- type RbacHolder
- type RolePermission
- type RuntimeStrategy
- func (s *RuntimeStrategy) GetApiPermission(api string) (*ApiPermission, error)
- func (s *RuntimeStrategy) GetRolePermission(role string) (*RolePermission, error)
- func (s *RuntimeStrategy) GetUserPermission(uid string) (*UserPermission, error)
- func (s *RuntimeStrategy) SetApiPermission(api string, permission *ApiPermission) error
- func (s *RuntimeStrategy) SetRolePermission(role string, permission *RolePermission) error
- func (s *RuntimeStrategy) SetUserPermission(uid string, permission *UserPermission) error
- type UserPermission
Constants ¶
View Source
const SubjectDomainObjectAction = `` /* 263-byte string literal not displayed */
访问实体 (Subject),领域(Domain),访问资源 (Object) 和访问方法 (Action)
View Source
const SubjectObjectAction = `` /* 232-byte string literal not displayed */
访问实体 (Subject),访问资源 (Object) 和访问方法 (Action)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiPermission ¶
判断资源需要哪些角色(Resource-Based Access Control,RBAC)
type CacheStrategy ¶
type CacheStrategy interface { GetUserPermission(uid string) (*UserPermission, error) GetApiPermission(api string) (*ApiPermission, error) GetRolePermission(role string) (*RolePermission, error) SetUserPermission(uid string, permission *UserPermission) error SetApiPermission(api string, permission *ApiPermission) error SetRolePermission(role string, permission *RolePermission) error }
func NewCacheStrategy ¶
func NewCacheStrategy() CacheStrategy
type CachedEnforcer ¶
type CachedEnforcer struct { *casbin.SyncedCachedEnforcer DB *gorm.DB // contains filtered or unexported fields }
func NewCachedEnforcer ¶
func NewCachedEnforcer(db *gorm.DB) *CachedEnforcer
func (*CachedEnforcer) AddRolePolicy ¶
func (s *CachedEnforcer) AddRolePolicy(roleName string, domain string, apis []*entity.Api) (result interface{}, err error)
添加CasbinRule记录
func (*CachedEnforcer) DeleteRolePolicy ¶
func (s *CachedEnforcer) DeleteRolePolicy(roleName string, domain string) (result interface{}, err error)
删除CasbinRule记录
func (*CachedEnforcer) IsWhileList ¶
func (s *CachedEnforcer) IsWhileList(path string, method string) bool
func (*CachedEnforcer) LoadWhileList ¶
func (s *CachedEnforcer) LoadWhileList(apis []*entity.Api) error
type PermissionHolder ¶
type PermissionHolder struct { DbEngin *gorm.DB CacheEngin CacheStrategy // contains filtered or unexported fields }
func (*PermissionHolder) CheckUserAccessApi ¶
func (s *PermissionHolder) CheckUserAccessApi(uid string, path string, method string) error
func (*PermissionHolder) FindApiPermission ¶
func (s *PermissionHolder) FindApiPermission(path string, method string) (*ApiPermission, error)
func (*PermissionHolder) FindUserPermission ¶
func (s *PermissionHolder) FindUserPermission(uid string) (*UserPermission, error)
func (*PermissionHolder) LoadApi ¶
func (s *PermissionHolder) LoadApi(path string, method string) (*ApiPermission, error)
加载api
func (*PermissionHolder) LoadRole ¶
func (s *PermissionHolder) LoadRole(rid string) (*RolePermission, error)
加载角色
func (*PermissionHolder) LoadUser ¶
func (s *PermissionHolder) LoadUser(uid string) (*UserPermission, error)
加载用户
type RbacHolder ¶
type RbacHolder interface { // 检查用户是否拥有访问接口权限 CheckUserAccessApi(uid string, path string, method string) error // 查询接口权限信息 FindApiPermission(path string, method string) (*ApiPermission, error) // 查询用户权限信息 FindUserPermission(uid string) (*UserPermission, error) }
func NewPermissionHolder ¶
func NewPermissionHolder(db *gorm.DB, logger glog.Logger) RbacHolder
type RolePermission ¶
判断角色拥有哪些资源(Role-Based Access Control,RBAC)
type RuntimeStrategy ¶
type RuntimeStrategy struct { UserPermissions map[string]*UserPermission ApiPermissions map[string]*ApiPermission RolePermissions map[string]*RolePermission }
func (*RuntimeStrategy) GetApiPermission ¶
func (s *RuntimeStrategy) GetApiPermission(api string) (*ApiPermission, error)
func (*RuntimeStrategy) GetRolePermission ¶
func (s *RuntimeStrategy) GetRolePermission(role string) (*RolePermission, error)
func (*RuntimeStrategy) GetUserPermission ¶
func (s *RuntimeStrategy) GetUserPermission(uid string) (*UserPermission, error)
func (*RuntimeStrategy) SetApiPermission ¶
func (s *RuntimeStrategy) SetApiPermission(api string, permission *ApiPermission) error
func (*RuntimeStrategy) SetRolePermission ¶
func (s *RuntimeStrategy) SetRolePermission(role string, permission *RolePermission) error
func (*RuntimeStrategy) SetUserPermission ¶
func (s *RuntimeStrategy) SetUserPermission(uid string, permission *UserPermission) error
type UserPermission ¶
Click to show internal directories.
Click to hide internal directories.