Documentation
¶
Index ¶
- type Effect
- type Enforcer
- func (e *Enforcer) AddActionAttributeFunction(function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) AddFunction(name string, function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) AddGroupingPolicy(policy []string)
- func (e *Enforcer) AddObjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) AddPermissionForUser(user string, permission string)
- func (e *Enforcer) AddPolicy(policy []string)
- func (e *Enforcer) AddRoleForUser(user string, role string)
- func (e *Enforcer) AddSubjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) ClearPolicy()
- func (e *Enforcer) DeletePermission(permission string)
- func (e *Enforcer) DeletePermissionsForUser(user string)
- func (e *Enforcer) DeleteRole(role string)
- func (e *Enforcer) DeleteRolesForUser(user string)
- func (e *Enforcer) DeleteUser(user string)
- 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) GetGroupingPolicy() [][]string
- func (e *Enforcer) GetModel() model.Model
- func (e *Enforcer) GetPermissionsForUser(user string) []string
- func (e *Enforcer) GetPolicy() [][]string
- func (e *Enforcer) GetRolesForUser(name string) []string
- func (e *Enforcer) InitWithAdapter(modelPath string, adapter persist.Adapter)
- func (e *Enforcer) InitWithConfig(cfgPath 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) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValue string)
- func (e *Enforcer) RemoveFilteredPolicy(fieldIndex int, fieldValue string)
- func (e *Enforcer) RemoveGroupingPolicy(policy []string)
- func (e *Enforcer) RemovePolicy(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 NewEnforcer ¶ added in v0.0.5
func NewEnforcer(params ...interface{}) *Enforcer
NewEnforcer gets an enforcer via CONF, file or DB. e := NewEnforcer("path/to/casbin.conf") e := NewEnforcer("path/to/basic_model.conf", "path/to/basic_policy.conf") e := NewEnforcer("path/to/rbac_model.conf", "mysql", "root:@tcp(127.0.0.1:3306)/")
func (*Enforcer) AddActionAttributeFunction ¶ added in v0.0.5
func (e *Enforcer) AddActionAttributeFunction(function func(args ...interface{}) (interface{}, error))
AddActionAttributeFunction adds the function that gets attributes for a object in ABAC.
func (*Enforcer) AddFunction ¶ added in v0.0.6
func (e *Enforcer) AddFunction(name string, function func(args ...interface{}) (interface{}, error))
AddFunction adds a customized function.
func (*Enforcer) AddGroupingPolicy ¶ added in v0.0.2
AddGroupingPolicy adds a role inheritance rule to the current policy.
func (*Enforcer) AddObjectAttributeFunction ¶ added in v0.0.2
func (e *Enforcer) AddObjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
AddObjectAttributeFunction adds the function that gets attributes for a object in ABAC.
func (*Enforcer) AddPermissionForUser ¶ added in v0.0.5
AddPermissionForUser adds a permission for a user or role.
func (*Enforcer) AddPolicy ¶ added in v0.0.2
AddPolicy adds an authorization rule to the current policy.
func (*Enforcer) AddRoleForUser ¶ added in v0.0.5
AddRoleForUser adds a role for a user.
func (*Enforcer) AddSubjectAttributeFunction ¶ added in v0.0.2
func (e *Enforcer) AddSubjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
AddSubjectAttributeFunction adds the function that gets attributes for a subject in ABAC.
func (*Enforcer) ClearPolicy ¶ added in v0.0.5
func (e *Enforcer) ClearPolicy()
ClearPolicy clears all policy.
func (*Enforcer) DeletePermission ¶ added in v0.0.5
DeletePermission deletes a permission.
func (*Enforcer) DeletePermissionsForUser ¶ added in v0.0.5
DeletePermissionsForUser deletes permissions for a user or role.
func (*Enforcer) DeleteRole ¶ added in v0.0.5
DeleteRole deletes a role.
func (*Enforcer) DeleteRolesForUser ¶ added in v0.0.5
DeleteRolesForUser deletes all roles for a user.
func (*Enforcer) DeleteUser ¶ added in v0.0.5
DeleteUser deletes a user.
func (*Enforcer) Enable ¶ added in v0.0.2
Enable changes the enforcing state of casbin, when casbin is disabled, all access will be allowed by the Enforce() function.
func (*Enforcer) Enforce ¶ added in v0.0.2
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).
func (*Enforcer) GetAllActions ¶ added in v0.0.2
GetAllActions gets the list of actions that show up in the current policy.
func (*Enforcer) GetAllObjects ¶ added in v0.0.2
GetAllObjects gets the list of objects that show up in the current policy.
func (*Enforcer) GetAllRoles ¶ added in v0.0.2
GetAllRoles gets the list of roles that show up in the current policy.
func (*Enforcer) GetAllSubjects ¶ added in v0.0.2
GetAllSubjects gets the list of subjects that show up in the current policy.
func (*Enforcer) GetFilteredPolicy ¶ added in v0.0.2
GetFilteredPolicy gets all the authorization rules in the policy, a field filter can be specified.
func (*Enforcer) GetGroupingPolicy ¶ added in v0.0.2
GetGroupingPolicy gets all the role inheritance rules in the policy.
func (*Enforcer) GetPermissionsForUser ¶ added in v0.0.5
GetPermissionsForUser gets permissions for a user or role.
func (*Enforcer) GetPolicy ¶ added in v0.0.2
GetPolicy gets all the authorization rules in the policy.
func (*Enforcer) GetRolesForUser ¶ added in v0.0.5
GetRolesForUser gets roles for a user.
func (*Enforcer) InitWithAdapter ¶ added in v0.0.5
InitWithAdapter initializes an enforcer with an adapter.
func (*Enforcer) InitWithConfig ¶ added in v0.0.5
InitWithConfig initializes an enforcer with a configuration file, by default is casbin.conf.
func (*Enforcer) InitWithDB ¶ added in v0.0.5
InitWithDB initializes an enforcer with a model file and a policy from database.
func (*Enforcer) InitWithFile ¶ added in v0.0.5
InitWithFile initializes an enforcer with a model file and a policy file.
func (*Enforcer) LoadModel ¶ added in v0.0.5
func (e *Enforcer) LoadModel()
LoadModel reloads 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) LoadPolicy ¶ added in v0.0.2
func (e *Enforcer) LoadPolicy()
LoadPolicy reloads the policy from file/database.
func (*Enforcer) RemoveFilteredGroupingPolicy ¶ added in v0.0.5
RemoveFilteredGroupingPolicy removes a role inheritance rule from the current policy, a field filter can be specified.
func (*Enforcer) RemoveFilteredPolicy ¶ added in v0.0.5
RemoveFilteredPolicy removes an authorization rule from the current policy, a field filter can be specified.
func (*Enforcer) RemoveGroupingPolicy ¶ added in v0.0.2
RemoveGroupingPolicy removes a role inheritance rule from the current policy.
func (*Enforcer) RemovePolicy ¶ added in v0.0.2
RemovePolicy removes an authorization rule from the current policy.
func (*Enforcer) SavePolicy ¶ added in v0.0.2
func (e *Enforcer) SavePolicy()
SavePolicy saves the current policy (usually after changed with casbin API) back to file/database.