Documentation ¶
Index ¶
- func NewAuthorization(getter PolicyGetter) authorization.AuthorizationInterface
- type Authorization
- func (a *Authorization) Create(*ladon.DefaultPolicy) error
- func (auth *Authorization) Delete(id string) error
- func (auth *Authorization) DeleteCollection(idList []string) error
- func (auth *Authorization) Get(id string) (*ladon.DefaultPolicy, error)
- func (auth *Authorization) List(username string) ([]*ladon.DefaultPolicy, error)
- func (auth *Authorization) LogGrantedAccessRequest(r *ladon.Request, p ladon.Policies, d ladon.Policies)
- func (auth *Authorization) LogRejectedAccessRequest(r *ladon.Request, p ladon.Policies, d ladon.Policies)
- func (auth *Authorization) Update(policy *ladon.DefaultPolicy) error
- type PolicyGetter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAuthorization ¶
func NewAuthorization(getter PolicyGetter) authorization.AuthorizationInterface
传来获取用户权限的接口 是使用 load 中的struct 进行 初始化 即 通过cache得到 Policy
Types ¶
type Authorization ¶
type Authorization struct {
// contains filtered or unexported fields
}
这个为实现 service(authorization) 的types.go的接口
func (*Authorization) Create ¶
func (a *Authorization) Create(*ladon.DefaultPolicy) error
创建一个策略 返回nil,因为我们使用mysql存储来存储策略。
func (*Authorization) Delete ¶
func (auth *Authorization) Delete(id string) error
按给定标识符删除策略。 返回nil,因为我们使用mysql存储来存储策略。
func (*Authorization) DeleteCollection ¶
func (auth *Authorization) DeleteCollection(idList []string) error
DeleteCollection按给定标识符批量删除策略。 返回nil,因为我们使用mysql存储来存储策略。
func (*Authorization) Get ¶
func (auth *Authorization) Get(id string) (*ladon.DefaultPolicy, error)
Get按给定标识符返回策略详细信息。 返回nil,因为我们使用mysql存储来存储策略。
func (*Authorization) List ¶
func (auth *Authorization) List(username string) ([]*ladon.DefaultPolicy, error)
列表返回用户名下的所有策略。
func (*Authorization) LogGrantedAccessRequest ¶
func (auth *Authorization) LogGrantedAccessRequest(r *ladon.Request, p ladon.Policies, d ladon.Policies)
LogGrantedAccessRequest write granted subject access to redis.
func (*Authorization) LogRejectedAccessRequest ¶
func (auth *Authorization) LogRejectedAccessRequest(r *ladon.Request, p ladon.Policies, d ladon.Policies)
为了降低请求延时,LogRejectedAccessRequest 和 LogGrantedAccessRequest 会将授权记录存储在 Redis 中, 之后由 iam-pump 进程读取 Redis,并将授权记录持久化存储在 MongoDB 中。
func (*Authorization) Update ¶
func (auth *Authorization) Update(policy *ladon.DefaultPolicy) error
更新策略。 返回nil,因为我们使用mysql存储来存储策略。
type PolicyGetter ¶
type PolicyGetter interface {
GetPolicy(key string) ([]*ladon.DefaultPolicy, error) //根据key得到 ladon 选项
}
通过 Cache 得到 (cache实现这个接口)
Click to show internal directories.
Click to hide internal directories.