Documentation ¶
Index ¶
- type GormStore
- type Override
- type OverrideData
- type OverrideStore
- type RBAC
- func (rbac *RBAC) DeleteOverride(userID uuid.UUID, p gorbac.Permission) (err error)
- func (rbac *RBAC) GetOverride(userID uuid.UUID) (result map[gorbac.Permission]bool)
- func (rbac *RBAC) IsGranted(userID uuid.UUID, roleID string, p gorbac.Permission) bool
- func (rbac *RBAC) SetOverride(userID uuid.UUID, p gorbac.Permission, validity bool) (err error)
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GormStore ¶
type GormStore struct {
// contains filtered or unexported fields
}
GormStore rbac.OverrideStoreインターフェイスの実装
func (*GormStore) DeleteOverride ¶
func (s *GormStore) DeleteOverride(userID uuid.UUID, p gorbac.Permission) error
DeleteOverride オーバライドルールを削除します
func (*GormStore) GetAllOverrides ¶
func (s *GormStore) GetAllOverrides() ([]OverrideData, error)
GetAllOverrides オーバライドルールを全て取得します
func (*GormStore) SaveOverride ¶
func (s *GormStore) SaveOverride(userID uuid.UUID, p gorbac.Permission, validity bool) error
SaveOverride オーバライドルール保存します
type Override ¶
type Override struct { UserID uuid.UUID `gorm:"type:char(36);primary_key"` Permission string `gorm:"type:varchar(50);primary_key"` Validity bool CreatedAt time.Time `gorm:"precision:6"` UpdatedAt time.Time `gorm:"precision:6"` }
Override rbac.OverrideDataインターフェイスの実装
func (*Override) GetPermission ¶
func (o *Override) GetPermission() gorbac.Permission
GetPermission パーミッションを取得
type OverrideData ¶
type OverrideData interface { GetUserID() uuid.UUID GetPermission() gorbac.Permission GetValidity() bool }
OverrideData : RBACのオーバライドルールのインターフェイス
type OverrideStore ¶
type OverrideStore interface { GetAllOverrides() ([]OverrideData, error) SaveOverride(userID uuid.UUID, p gorbac.Permission, validity bool) error DeleteOverride(userID uuid.UUID, p gorbac.Permission) error }
OverrideStore : RBACのオーバーライドルールの永続化用ストアインターフェイス
type RBAC ¶
RBAC : Role-Based Access Controller extending gorbac
func (*RBAC) DeleteOverride ¶
func (rbac *RBAC) DeleteOverride(userID uuid.UUID, p gorbac.Permission) (err error)
DeleteOverride : 指定したユーザーの指定したパーミッションのオーバーライドルールを削除します
func (*RBAC) GetOverride ¶
func (rbac *RBAC) GetOverride(userID uuid.UUID) (result map[gorbac.Permission]bool)
GetOverride : 指定したユーザーに付与されているオーバライドルールを取得します
func (*RBAC) IsGranted ¶
func (rbac *RBAC) IsGranted(userID uuid.UUID, roleID string, p gorbac.Permission) bool
IsGranted tests if the role `ID` has Permission `p`. it may be overridden according to userID.
func (*RBAC) SetOverride ¶
func (rbac *RBAC) SetOverride(userID uuid.UUID, p gorbac.Permission, validity bool) (err error)
SetOverride : 指定したユーザーにオーバーライドルールを付与します
Click to show internal directories.
Click to hide internal directories.