Documentation ¶
Index ¶
- type Enforcer
- func (e *Enforcer) AddGroupingPolicy(policy []string)
- func (e *Enforcer) AddGroupingPolicyForPolicyType(ptype string, policy []string)
- func (e *Enforcer) AddObjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) AddPolicy(policy []string)
- func (e *Enforcer) AddPolicyForPolicyType(ptype string, policy []string)
- func (e *Enforcer) AddSubjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) ClearPolicy()
- func (e *Enforcer) Enable(enable bool)
- func (e *Enforcer) Enforce(rvals ...string) bool
- func (e *Enforcer) GetAllActions() []string
- func (e *Enforcer) GetAllObjects() []string
- func (e *Enforcer) GetAllRoles() []string
- func (e *Enforcer) GetAllSubjects() []string
- func (e *Enforcer) GetFilteredPolicy(fieldIndex int, fieldValue string) [][]string
- func (e *Enforcer) GetFilteredPolicyForPolicyType(ptype string, fieldIndex int, fieldValue string) [][]string
- func (e *Enforcer) GetGroupingPolicy() [][]string
- func (e *Enforcer) GetGroupingPolicyForPolicyType(ptype string) [][]string
- func (e *Enforcer) GetPolicy() [][]string
- func (e *Enforcer) GetPolicyForPolicyType(ptype string) [][]string
- func (e *Enforcer) GetRoles(name string) []string
- func (e *Enforcer) GetRolesForPolicyType(ptype string, name string) []string
- func (e *Enforcer) InitWithDB(modelPath string, driverName string, dataSourceName string)
- func (e *Enforcer) InitWithFile(modelPath string, policyPath string)
- func (e *Enforcer) LoadModel()
- func (e *Enforcer) LoadPolicy()
- func (e *Enforcer) RemoveGroupingPolicy(policy []string)
- func (e *Enforcer) RemoveGroupingPolicyForPolicyType(ptype string, policy []string)
- func (e *Enforcer) RemovePolicy(policy []string)
- func (e *Enforcer) RemovePolicyForPolicyType(ptype string, policy []string)
- func (e *Enforcer) SavePolicy()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Enforcer ¶
type Enforcer struct {
// contains filtered or unexported fields
}
Enforcer is the main interface for authorization enforcement and policy management.
func (*Enforcer) AddGroupingPolicy ¶
Add a role inheritance rule to the current policy.
func (*Enforcer) AddGroupingPolicyForPolicyType ¶
Add a role inheritance rule to the current policy, policy type can be specified.
func (*Enforcer) AddObjectAttributeFunction ¶
func (e *Enforcer) AddObjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
Add the function that gets attributes for a object in ABAC.
func (*Enforcer) AddPolicyForPolicyType ¶
Add an authorization rule to the current policy, policy type can be specified.
func (*Enforcer) AddSubjectAttributeFunction ¶
func (e *Enforcer) AddSubjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
Add the function that gets attributes for a subject in ABAC.
func (*Enforcer) Enable ¶
Change the enforcing state of casbin, when casbin is disabled, all access will be allowed by the Enforce() function.
func (*Enforcer) Enforce ¶
Decide whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).
func (*Enforcer) GetAllActions ¶
Get the list of actions that show up in the current policy.
func (*Enforcer) GetAllObjects ¶
Get the list of objects that show up in the current policy.
func (*Enforcer) GetAllRoles ¶
Get the list of roles that show up in the current policy.
func (*Enforcer) GetAllSubjects ¶
Get the list of subjects that show up in the current policy.
func (*Enforcer) GetFilteredPolicy ¶
Get all the authorization rules in the policy, a field filter can be specified.
func (*Enforcer) GetFilteredPolicyForPolicyType ¶
func (e *Enforcer) GetFilteredPolicyForPolicyType(ptype string, fieldIndex int, fieldValue string) [][]string
Get all the authorization rules in the policy, a field filter can be specified, policy type can be specified.
func (*Enforcer) GetGroupingPolicy ¶
Get all the role inheritance rules in the policy.
func (*Enforcer) GetGroupingPolicyForPolicyType ¶
Get all the role inheritance rules in the policy, policy type can be specified.
func (*Enforcer) GetPolicyForPolicyType ¶
Get all the authorization rules in the policy, policy type can be specified.
func (*Enforcer) GetRolesForPolicyType ¶
Get the roles assigned to a subject, policy type can be specified.
func (*Enforcer) InitWithDB ¶
Initialize an enforcer with a model file and a policy from database.
func (*Enforcer) InitWithFile ¶
Initialize an enforcer with a model file and a policy file.
func (*Enforcer) LoadModel ¶
func (e *Enforcer) LoadModel()
Reload the model from the model CONF file. Because the policy is attached to a model, so the policy is invalidated and needs to be reloaded by calling LoadPolicy().
func (*Enforcer) RemoveGroupingPolicy ¶
Remove a role inheritance rule from the current policy.
func (*Enforcer) RemoveGroupingPolicyForPolicyType ¶
Remove a role inheritance rule from the current policy, policy type can be specified.
func (*Enforcer) RemovePolicy ¶
Remove an authorization rule from the current policy.
func (*Enforcer) RemovePolicyForPolicyType ¶
Remove an authorization rule from the current policy, policy type can be specified.
func (*Enforcer) SavePolicy ¶
func (e *Enforcer) SavePolicy()
Save the current policy (usually after changed with casbin API) back to file/database.