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(params ...interface{})
- func (e *Enforcer) AddObjectAttributeFunction(function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) AddPermissionForUser(user string, permission ...string)
- func (e *Enforcer) AddPolicy(params ...interface{})
- 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) DeletePermissionForUser(user string, permission ...string)
- func (e *Enforcer) DeletePermissionsForUser(user string)
- func (e *Enforcer) DeleteRole(role string)
- func (e *Enforcer) DeleteRoleForUser(user string, role string)
- func (e *Enforcer) DeleteRolesForUser(user string)
- func (e *Enforcer) DeleteUser(user string)
- func (e *Enforcer) Enable(enable bool)
- func (e *Enforcer) EnableLog(enable bool)
- func (e *Enforcer) Enforce(rvals ...string) bool
- func (e *Enforcer) EnforceSafe(rvals ...string) (result bool, err error)
- 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, fieldValues ...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) HasGroupingPolicy(params ...interface{}) bool
- func (e *Enforcer) HasPermissionForUser(user string, permission ...string) bool
- func (e *Enforcer) HasPolicy(params ...interface{}) bool
- func (e *Enforcer) HasRoleForUser(name string, role string) bool
- func (e *Enforcer) InitWithAdapter(modelPath string, adapter persist.Adapter)
- func (e *Enforcer) InitWithFile(modelPath string, policyPath string)
- func (e *Enforcer) LoadModel()
- func (e *Enforcer) LoadModelSafe() (err error)
- func (e *Enforcer) LoadPolicy()
- func (e *Enforcer) LoadPolicySafe() (err error)
- func (e *Enforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string)
- func (e *Enforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string)
- func (e *Enforcer) RemoveGroupingPolicy(params ...interface{})
- func (e *Enforcer) RemovePolicy(params ...interface{})
- func (e *Enforcer) SavePolicy()
- func (e *Enforcer) SavePolicySafe() (err error)
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 NewEnforcerSafe ¶ added in v0.3.0
NewEnforcerSafe calls NewEnforcer in a safe way, returns error instead of causing panic.
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
func (e *Enforcer) AddGroupingPolicy(params ...interface{})
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
func (e *Enforcer) AddPolicy(params ...interface{})
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) DeletePermissionForUser ¶ added in v0.6.0
DeletePermissionForUser deletes a permission for a user or role.
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) DeleteRoleForUser ¶ added in v0.6.0
DeleteRoleForUser deletes a role for a user.
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) EnableLog ¶ added in v0.6.0
EnableLog changes whether to print Casbin log to the standard output.
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) EnforceSafe ¶ added in v0.3.0
EnforceSafe calls Enforce in a safe way, returns error instead of causing panic.
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, field filters 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) HasGroupingPolicy ¶ added in v0.6.0
HasGroupingPolicy determines whether a role inheritance rule exists.
func (*Enforcer) HasPermissionForUser ¶ added in v0.6.0
HasPermissionForUser determines whether a user has a permission.
func (*Enforcer) HasPolicy ¶ added in v0.6.0
HasPolicy determines whether an authorization rule exists.
func (*Enforcer) HasRoleForUser ¶ added in v0.6.0
HasRoleForUser determines whether a user has a role.
func (*Enforcer) InitWithAdapter ¶ added in v0.0.5
InitWithAdapter initializes an enforcer with a database adapter.
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) LoadModelSafe ¶ added in v0.3.0
LoadModelSafe calls LoadModel in a safe way, returns error instead of causing panic.
func (*Enforcer) LoadPolicy ¶ added in v0.0.2
func (e *Enforcer) LoadPolicy()
LoadPolicy reloads the policy from file/database.
func (*Enforcer) LoadPolicySafe ¶ added in v0.3.0
LoadPolicySafe calls LoadPolicy in a safe way, returns error instead of causing panic.
func (*Enforcer) RemoveFilteredGroupingPolicy ¶ added in v0.0.5
RemoveFilteredGroupingPolicy removes a role inheritance rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveFilteredPolicy ¶ added in v0.0.5
RemoveFilteredPolicy removes an authorization rule from the current policy, field filters can be specified.
func (*Enforcer) RemoveGroupingPolicy ¶ added in v0.0.2
func (e *Enforcer) RemoveGroupingPolicy(params ...interface{})
RemoveGroupingPolicy removes a role inheritance rule from the current policy.
func (*Enforcer) RemovePolicy ¶ added in v0.0.2
func (e *Enforcer) RemovePolicy(params ...interface{})
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.
func (*Enforcer) SavePolicySafe ¶ added in v0.3.0
SavePolicySafe calls SavePolicy in a safe way, returns error instead of causing panic.