Documentation ¶
Index ¶
- func NewModel(params ...interface{}) model.Model
- type Effect
- type Enforcer
- func (e *Enforcer) AddFunction(name string, function func(args ...interface{}) (interface{}, error))
- func (e *Enforcer) AddGroupingPolicy(params ...interface{}) bool
- func (e *Enforcer) AddPermissionForUser(user string, permission ...string) bool
- func (e *Enforcer) AddPolicy(params ...interface{}) bool
- func (e *Enforcer) AddRoleForUser(user string, role string) bool
- 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 ...interface{}) bool
- func (e *Enforcer) EnforceSafe(rvals ...interface{}) (result bool, err error)
- func (e *Enforcer) GetAdapter() persist.Adapter
- func (e *Enforcer) GetAllActions() []string
- func (e *Enforcer) GetAllObjects() []string
- func (e *Enforcer) GetAllRoles() []string
- func (e *Enforcer) GetAllSubjects() []string
- func (e *Enforcer) GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]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) GetUsersForRole(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) InitWithModelAndAdapter(m model.Model, adapter persist.Adapter)
- func (e *Enforcer) LoadModel()
- func (e *Enforcer) LoadModelSafe() (err error)
- func (e *Enforcer) LoadPolicy() 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() error
- func (e *Enforcer) SetAdapter(adapter persist.Adapter)
- func (e *Enforcer) SetModel(model model.Model)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 creates an enforcer via file or DB. File: e := casbin.NewEnforcer("path/to/basic_model.conf", "path/to/basic_policy.conf") MySQL DB: a := mysqladapter.NewDBAdapter("mysql", "mysql_username:mysql_password@tcp(127.0.0.1:3306)/") e := casbin.NewEnforcer("path/to/basic_model.conf", a)
func NewEnforcerSafe ¶ added in v0.3.0
NewEnforcerSafe calls NewEnforcer in a safe way, returns error instead of causing panic.
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. If you try to add an existing policy, the call fails and returns false.
func (*Enforcer) AddPermissionForUser ¶ added in v0.0.5
AddPermissionForUser adds a permission for a user or role. Returns false if the user or role already has the permission.
func (*Enforcer) AddPolicy ¶ added in v0.0.2
AddPolicy adds an authorization rule to the current policy. If you try to add an existing policy, the call fails and returns false.
func (*Enforcer) AddRoleForUser ¶ added in v0.0.5
AddRoleForUser adds a role for a user. Returns false if the user already has the role.
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) GetAdapter ¶ added in v0.8.0
GetAdapter gets the current adapter.
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) GetFilteredGroupingPolicy ¶ added in v0.9.0
GetFilteredGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.
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 the roles that a user has.
func (*Enforcer) GetUsersForRole ¶ added in v0.7.0
GetUsersForRole gets the users that has a role.
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) InitWithModelAndAdapter ¶ added in v0.8.0
InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.
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
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, 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
SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.
func (*Enforcer) SetAdapter ¶ added in v0.8.0
SetAdapter sets the current adapter.