casbin: github.com/casbin/casbin Index | Files | Directories

package casbin

import "github.com/casbin/casbin"

Index

Package Files

enforcer.go enforcer_cached.go enforcer_safe.go enforcer_synced.go enforcer_synced_safe.go internal_api.go management_api.go rbac_api.go rbac_api_synced.go rbac_api_with_domains.go

func NewModel Uses

func NewModel(text ...string) model.Model

NewModel creates a model.

type CachedEnforcer Uses

type CachedEnforcer struct {
    *Enforcer
    // contains filtered or unexported fields
}

CachedEnforcer wraps Enforcer and provides decision cache

func NewCachedEnforcer Uses

func NewCachedEnforcer(params ...interface{}) *CachedEnforcer

NewCachedEnforcer creates a cached enforcer via file or DB.

func (*CachedEnforcer) EnableCache Uses

func (e *CachedEnforcer) EnableCache(enableCache bool)

EnableCache determines whether to enable cache on Enforce(). When enableCache is enabled, cached result (true | false) will be returned for previous decisions.

func (*CachedEnforcer) Enforce Uses

func (e *CachedEnforcer) Enforce(rvals ...interface{}) bool

Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act). if rvals is not string , ingore the cache

func (*CachedEnforcer) InvalidateCache Uses

func (e *CachedEnforcer) InvalidateCache()

InvalidateCache deletes all the existing cached decisions.

type Enforcer Uses

type Enforcer struct {
    // contains filtered or unexported fields
}

Enforcer is the main interface for authorization enforcement and policy management.

func NewEnforcer Uses

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.csv") 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 Uses

func NewEnforcerSafe(params ...interface{}) (e *Enforcer, err error)

NewEnforcerSafe calls NewEnforcer in a safe way, returns error instead of causing panic.

func (*Enforcer) AddFunction Uses

func (e *Enforcer) AddFunction(name string, function func(args ...interface{}) (interface{}, error))

AddFunction adds a customized function.

func (*Enforcer) AddGroupingPolicy Uses

func (e *Enforcer) AddGroupingPolicy(params ...interface{}) bool

AddGroupingPolicy adds a role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.

func (*Enforcer) AddGroupingPolicySafe Uses

func (e *Enforcer) AddGroupingPolicySafe(params ...interface{}) (result bool, err error)

AddGroupingPolicySafe calls AddGroupingPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) AddNamedGroupingPolicy Uses

func (e *Enforcer) AddNamedGroupingPolicy(ptype string, params ...interface{}) bool

AddNamedGroupingPolicy adds a named role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.

func (*Enforcer) AddNamedGroupingPolicySafe Uses

func (e *Enforcer) AddNamedGroupingPolicySafe(ptype string, params ...interface{}) (result bool, err error)

AddNamedGroupingPolicySafe calls AddNamedGroupingPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) AddNamedPolicy Uses

func (e *Enforcer) AddNamedPolicy(ptype string, params ...interface{}) bool

AddNamedPolicy adds an authorization rule to the current named policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.

func (*Enforcer) AddNamedPolicySafe Uses

func (e *Enforcer) AddNamedPolicySafe(ptype string, params ...interface{}) (result bool, err error)

AddNamedPolicySafe calls AddNamedPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) AddPermissionForUser Uses

func (e *Enforcer) AddPermissionForUser(user string, permission ...string) bool

AddPermissionForUser adds a permission for a user or role. Returns false if the user or role already has the permission (aka not affected).

func (*Enforcer) AddPolicy Uses

func (e *Enforcer) AddPolicy(params ...interface{}) bool

AddPolicy adds an authorization rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.

func (*Enforcer) AddPolicySafe Uses

func (e *Enforcer) AddPolicySafe(params ...interface{}) (result bool, err error)

AddPolicySafe calls AddPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) AddRoleForUser Uses

func (e *Enforcer) AddRoleForUser(user string, role string) bool

AddRoleForUser adds a role for a user. Returns false if the user already has the role (aka not affected).

func (*Enforcer) AddRoleForUserInDomain Uses

func (e *Enforcer) AddRoleForUserInDomain(user string, role string, domain string) bool

AddRoleForUserInDomain adds a role for a user inside a domain. Returns false if the user already has the role (aka not affected).

func (e *Enforcer) BuildRoleLinks()

BuildRoleLinks manually rebuild the role inheritance relations.

func (*Enforcer) ClearPolicy Uses

func (e *Enforcer) ClearPolicy()

ClearPolicy clears all policy.

func (*Enforcer) DeletePermission Uses

func (e *Enforcer) DeletePermission(permission ...string) bool

DeletePermission deletes a permission. Returns false if the permission does not exist (aka not affected).

func (*Enforcer) DeletePermissionForUser Uses

func (e *Enforcer) DeletePermissionForUser(user string, permission ...string) bool

DeletePermissionForUser deletes a permission for a user or role. Returns false if the user or role does not have the permission (aka not affected).

func (*Enforcer) DeletePermissionsForUser Uses

func (e *Enforcer) DeletePermissionsForUser(user string) bool

DeletePermissionsForUser deletes permissions for a user or role. Returns false if the user or role does not have any permissions (aka not affected).

func (*Enforcer) DeleteRole Uses

func (e *Enforcer) DeleteRole(role string)

DeleteRole deletes a role.

func (*Enforcer) DeleteRoleForUser Uses

func (e *Enforcer) DeleteRoleForUser(user string, role string) bool

DeleteRoleForUser deletes a role for a user. Returns false if the user does not have the role (aka not affected).

func (*Enforcer) DeleteRoleForUserInDomain Uses

func (e *Enforcer) DeleteRoleForUserInDomain(user string, role string, domain string) bool

DeleteRoleForUserInDomain deletes a role for a user inside a domain. Returns false if the user does not have the role (aka not affected).

func (*Enforcer) DeleteRolesForUser Uses

func (e *Enforcer) DeleteRolesForUser(user string) bool

DeleteRolesForUser deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).

func (*Enforcer) DeleteUser Uses

func (e *Enforcer) DeleteUser(user string) bool

DeleteUser deletes a user. Returns false if the user does not exist (aka not affected).

func (e *Enforcer) EnableAutoBuildRoleLinks(autoBuildRoleLinks bool)

EnableAutoBuildRoleLinks controls whether to rebuild the role inheritance relations when a role is added or deleted.

func (*Enforcer) EnableAutoSave Uses

func (e *Enforcer) EnableAutoSave(autoSave bool)

EnableAutoSave controls whether to save a policy rule automatically to the adapter when it is added or removed.

func (*Enforcer) EnableEnforce Uses

func (e *Enforcer) EnableEnforce(enable bool)

EnableEnforce changes the enforcing state of Casbin, when Casbin is disabled, all access will be allowed by the Enforce() function.

func (*Enforcer) EnableLog Uses

func (e *Enforcer) EnableLog(enable bool)

EnableLog changes whether Casbin will log messages to the Logger.

func (*Enforcer) Enforce Uses

func (e *Enforcer) Enforce(rvals ...interface{}) bool

Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).

func (*Enforcer) EnforceSafe Uses

func (e *Enforcer) EnforceSafe(rvals ...interface{}) (result bool, err error)

EnforceSafe calls Enforce in a safe way, returns error instead of causing panic.

func (*Enforcer) GetAdapter Uses

func (e *Enforcer) GetAdapter() persist.Adapter

GetAdapter gets the current adapter.

func (*Enforcer) GetAllActions Uses

func (e *Enforcer) GetAllActions() []string

GetAllActions gets the list of actions that show up in the current policy.

func (*Enforcer) GetAllNamedActions Uses

func (e *Enforcer) GetAllNamedActions(ptype string) []string

GetAllNamedActions gets the list of actions that show up in the current named policy.

func (*Enforcer) GetAllNamedObjects Uses

func (e *Enforcer) GetAllNamedObjects(ptype string) []string

GetAllNamedObjects gets the list of objects that show up in the current named policy.

func (*Enforcer) GetAllNamedRoles Uses

func (e *Enforcer) GetAllNamedRoles(ptype string) []string

GetAllNamedRoles gets the list of roles that show up in the current named policy.

func (*Enforcer) GetAllNamedSubjects Uses

func (e *Enforcer) GetAllNamedSubjects(ptype string) []string

GetAllNamedSubjects gets the list of subjects that show up in the current named policy.

func (*Enforcer) GetAllObjects Uses

func (e *Enforcer) GetAllObjects() []string

GetAllObjects gets the list of objects that show up in the current policy.

func (*Enforcer) GetAllRoles Uses

func (e *Enforcer) GetAllRoles() []string

GetAllRoles gets the list of roles that show up in the current policy.

func (*Enforcer) GetAllSubjects Uses

func (e *Enforcer) GetAllSubjects() []string

GetAllSubjects gets the list of subjects that show up in the current policy.

func (*Enforcer) GetFilteredGroupingPolicy Uses

func (e *Enforcer) GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]string

GetFilteredGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.

func (*Enforcer) GetFilteredNamedGroupingPolicy Uses

func (e *Enforcer) GetFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string

GetFilteredNamedGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.

func (*Enforcer) GetFilteredNamedPolicy Uses

func (e *Enforcer) GetFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) [][]string

GetFilteredNamedPolicy gets all the authorization rules in the named policy, field filters can be specified.

func (*Enforcer) GetFilteredPolicy Uses

func (e *Enforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string

GetFilteredPolicy gets all the authorization rules in the policy, field filters can be specified.

func (*Enforcer) GetGroupingPolicy Uses

func (e *Enforcer) GetGroupingPolicy() [][]string

GetGroupingPolicy gets all the role inheritance rules in the policy.

func (*Enforcer) GetImplicitPermissionsForUser Uses

func (e *Enforcer) GetImplicitPermissionsForUser(user string) [][]string

GetImplicitPermissionsForUser gets implicit permissions for a user or role. Compared to GetPermissionsForUser(), this function retrieves permissions for inherited roles. For example: p, admin, data1, read p, alice, data2, read g, alice, admin

GetPermissionsForUser("alice") can only get: [["alice", "data2", "read"]]. But GetImplicitPermissionsForUser("alice") will get: [["admin", "data1", "read"], ["alice", "data2", "read"]].

func (*Enforcer) GetImplicitRolesForUser Uses

func (e *Enforcer) GetImplicitRolesForUser(name string, domain ...string) []string

GetImplicitRolesForUser gets implicit roles that a user has. Compared to GetRolesForUser(), this function retrieves indirect roles besides direct roles. For example: g, alice, role:admin g, role:admin, role:user

GetRolesForUser("alice") can only get: ["role:admin"]. But GetImplicitRolesForUser("alice") will get: ["role:admin", "role:user"].

func (*Enforcer) GetModel Uses

func (e *Enforcer) GetModel() model.Model

GetModel gets the current model.

func (*Enforcer) GetNamedGroupingPolicy Uses

func (e *Enforcer) GetNamedGroupingPolicy(ptype string) [][]string

GetNamedGroupingPolicy gets all the role inheritance rules in the policy.

func (*Enforcer) GetNamedPolicy Uses

func (e *Enforcer) GetNamedPolicy(ptype string) [][]string

GetNamedPolicy gets all the authorization rules in the named policy.

func (*Enforcer) GetPermissionsForUser Uses

func (e *Enforcer) GetPermissionsForUser(user string) [][]string

GetPermissionsForUser gets permissions for a user or role.

func (*Enforcer) GetPermissionsForUserInDomain Uses

func (e *Enforcer) GetPermissionsForUserInDomain(user string, domain string) [][]string

GetPermissionsForUserInDomain gets permissions for a user or role inside a domain.

func (*Enforcer) GetPolicy Uses

func (e *Enforcer) GetPolicy() [][]string

GetPolicy gets all the authorization rules in the policy.

func (*Enforcer) GetRolesForUser Uses

func (e *Enforcer) GetRolesForUser(name string) []string

GetRolesForUser gets the roles that a user has.

func (*Enforcer) GetRolesForUserInDomain Uses

func (e *Enforcer) GetRolesForUserInDomain(name string, domain string) []string

GetRolesForUserInDomain gets the roles that a user has inside a domain.

func (*Enforcer) GetUsersForRole Uses

func (e *Enforcer) GetUsersForRole(name string) []string

GetUsersForRole gets the users that has a role.

func (*Enforcer) GetUsersForRoleInDomain Uses

func (e *Enforcer) GetUsersForRoleInDomain(name string, domain string) []string

GetUsersForRoleInDomain gets the users that has a role inside a domain. Add by Gordon

func (*Enforcer) HasGroupingPolicy Uses

func (e *Enforcer) HasGroupingPolicy(params ...interface{}) bool

HasGroupingPolicy determines whether a role inheritance rule exists.

func (*Enforcer) HasNamedGroupingPolicy Uses

func (e *Enforcer) HasNamedGroupingPolicy(ptype string, params ...interface{}) bool

HasNamedGroupingPolicy determines whether a named role inheritance rule exists.

func (*Enforcer) HasNamedPolicy Uses

func (e *Enforcer) HasNamedPolicy(ptype string, params ...interface{}) bool

HasNamedPolicy determines whether a named authorization rule exists.

func (*Enforcer) HasPermissionForUser Uses

func (e *Enforcer) HasPermissionForUser(user string, permission ...string) bool

HasPermissionForUser determines whether a user has a permission.

func (*Enforcer) HasPolicy Uses

func (e *Enforcer) HasPolicy(params ...interface{}) bool

HasPolicy determines whether an authorization rule exists.

func (*Enforcer) HasRoleForUser Uses

func (e *Enforcer) HasRoleForUser(name string, role string) bool

HasRoleForUser determines whether a user has a role.

func (*Enforcer) InitWithAdapter Uses

func (e *Enforcer) InitWithAdapter(modelPath string, adapter persist.Adapter)

InitWithAdapter initializes an enforcer with a database adapter.

func (*Enforcer) InitWithFile Uses

func (e *Enforcer) InitWithFile(modelPath string, policyPath string)

InitWithFile initializes an enforcer with a model file and a policy file.

func (*Enforcer) InitWithModelAndAdapter Uses

func (e *Enforcer) InitWithModelAndAdapter(m model.Model, adapter persist.Adapter)

InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.

func (*Enforcer) IsFiltered Uses

func (e *Enforcer) IsFiltered() bool

IsFiltered returns true if the loaded policy has been filtered.

func (*Enforcer) LoadFilteredPolicy Uses

func (e *Enforcer) LoadFilteredPolicy(filter interface{}) error

LoadFilteredPolicy reloads a filtered policy from file/database.

func (*Enforcer) LoadModel Uses

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 Uses

func (e *Enforcer) LoadModelSafe() (err error)

LoadModelSafe calls LoadModel in a safe way, returns error instead of causing panic.

func (*Enforcer) LoadPolicy Uses

func (e *Enforcer) LoadPolicy() error

LoadPolicy reloads the policy from file/database.

func (*Enforcer) RemoveFilteredGroupingPolicy Uses

func (e *Enforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) bool

RemoveFilteredGroupingPolicy removes a role inheritance rule from the current policy, field filters can be specified.

func (*Enforcer) RemoveFilteredGroupingPolicySafe Uses

func (e *Enforcer) RemoveFilteredGroupingPolicySafe(fieldIndex int, fieldValues ...string) (result bool, err error)

RemoveFilteredGroupingPolicySafe calls RemoveFilteredGroupingPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) RemoveFilteredNamedGroupingPolicy Uses

func (e *Enforcer) RemoveFilteredNamedGroupingPolicy(ptype string, fieldIndex int, fieldValues ...string) bool

RemoveFilteredNamedGroupingPolicy removes a role inheritance rule from the current named policy, field filters can be specified.

func (*Enforcer) RemoveFilteredNamedGroupingPolicySafe Uses

func (e *Enforcer) RemoveFilteredNamedGroupingPolicySafe(ptype string, fieldIndex int, fieldValues ...string) (result bool, err error)

RemoveFilteredNamedGroupingPolicySafe calls RemoveFilteredNamedGroupingPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) RemoveFilteredNamedPolicy Uses

func (e *Enforcer) RemoveFilteredNamedPolicy(ptype string, fieldIndex int, fieldValues ...string) bool

RemoveFilteredNamedPolicy removes an authorization rule from the current named policy, field filters can be specified.

func (*Enforcer) RemoveFilteredPolicy Uses

func (e *Enforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) bool

RemoveFilteredPolicy removes an authorization rule from the current policy, field filters can be specified.

func (*Enforcer) RemoveFilteredPolicySafe Uses

func (e *Enforcer) RemoveFilteredPolicySafe(fieldIndex int, fieldValues ...string) (result bool, err error)

RemoveFilteredPolicySafe calls RemoveFilteredPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) RemoveGroupingPolicy Uses

func (e *Enforcer) RemoveGroupingPolicy(params ...interface{}) bool

RemoveGroupingPolicy removes a role inheritance rule from the current policy.

func (*Enforcer) RemoveGroupingPolicySafe Uses

func (e *Enforcer) RemoveGroupingPolicySafe(params ...interface{}) (result bool, err error)

RemoveGroupingPolicySafe calls RemoveGroupingPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) RemoveNamedGroupingPolicy Uses

func (e *Enforcer) RemoveNamedGroupingPolicy(ptype string, params ...interface{}) bool

RemoveNamedGroupingPolicy removes a role inheritance rule from the current named policy.

func (*Enforcer) RemoveNamedGroupingPolicySafe Uses

func (e *Enforcer) RemoveNamedGroupingPolicySafe(ptype string, params ...interface{}) (result bool, err error)

RemoveNamedGroupingPolicySafe calls RemoveNamedGroupingPolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) RemoveNamedPolicy Uses

func (e *Enforcer) RemoveNamedPolicy(ptype string, params ...interface{}) bool

RemoveNamedPolicy removes an authorization rule from the current named policy.

func (*Enforcer) RemovePolicy Uses

func (e *Enforcer) RemovePolicy(params ...interface{}) bool

RemovePolicy removes an authorization rule from the current policy.

func (*Enforcer) RemovePolicySafe Uses

func (e *Enforcer) RemovePolicySafe(params ...interface{}) (result bool, err error)

RemovePolicySafe calls RemovePolicy in a safe way, returns error instead of causing panic.

func (*Enforcer) SavePolicy Uses

func (e *Enforcer) SavePolicy() error

SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.

func (*Enforcer) SetAdapter Uses

func (e *Enforcer) SetAdapter(adapter persist.Adapter)

SetAdapter sets the current adapter.

func (*Enforcer) SetEffector Uses

func (e *Enforcer) SetEffector(eft effect.Effector)

SetEffector sets the current effector.

func (*Enforcer) SetModel Uses

func (e *Enforcer) SetModel(m model.Model)

SetModel sets the current model.

func (*Enforcer) SetRoleManager Uses

func (e *Enforcer) SetRoleManager(rm rbac.RoleManager)

SetRoleManager sets the current role manager.

func (*Enforcer) SetWatcher Uses

func (e *Enforcer) SetWatcher(watcher persist.Watcher)

SetWatcher sets the current watcher.

type SyncedEnforcer Uses

type SyncedEnforcer struct {
    *Enforcer
    // contains filtered or unexported fields
}

SyncedEnforcer wraps Enforcer and provides synchronized access

func NewSyncedEnforcer Uses

func NewSyncedEnforcer(params ...interface{}) *SyncedEnforcer

NewSyncedEnforcer creates a synchronized enforcer via file or DB.

func NewSyncedEnforcerSafe Uses

func NewSyncedEnforcerSafe(params ...interface{}) (enforcer *SyncedEnforcer, err error)

NewSyncedEnforcerSafe creates a synchronized enforcer via file or DB.

func (*SyncedEnforcer) AddGroupingPolicy Uses

func (e *SyncedEnforcer) AddGroupingPolicy(params ...interface{}) bool

AddGroupingPolicy adds a role inheritance rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.

func (*SyncedEnforcer) AddPermissionForUser Uses

func (e *SyncedEnforcer) AddPermissionForUser(user string, permission ...string) bool

AddPermissionForUser adds a permission for a user or role. Returns false if the user or role already has the permission (aka not affected).

func (*SyncedEnforcer) AddPolicy Uses

func (e *SyncedEnforcer) AddPolicy(params ...interface{}) bool

AddPolicy adds an authorization rule to the current policy. If the rule already exists, the function returns false and the rule will not be added. Otherwise the function returns true by adding the new rule.

func (*SyncedEnforcer) AddPolicySafe Uses

func (e *SyncedEnforcer) AddPolicySafe(params ...interface{}) (result bool, err error)

AddPolicySafe calls AddPolicy in a safe way, returns error instead of causing panic.

func (*SyncedEnforcer) AddRoleForUser Uses

func (e *SyncedEnforcer) AddRoleForUser(user string, role string) bool

AddRoleForUser adds a role for a user. Returns false if the user already has the role (aka not affected).

func (e *SyncedEnforcer) BuildRoleLinks()

BuildRoleLinks manually rebuild the role inheritance relations.

func (*SyncedEnforcer) ClearPolicy Uses

func (e *SyncedEnforcer) ClearPolicy()

ClearPolicy clears all policy.

func (*SyncedEnforcer) DeletePermission Uses

func (e *SyncedEnforcer) DeletePermission(permission ...string) bool

DeletePermission deletes a permission. Returns false if the permission does not exist (aka not affected).

func (*SyncedEnforcer) DeletePermissionForUser Uses

func (e *SyncedEnforcer) DeletePermissionForUser(user string, permission ...string) bool

DeletePermissionForUser deletes a permission for a user or role. Returns false if the user or role does not have the permission (aka not affected).

func (*SyncedEnforcer) DeletePermissionsForUser Uses

func (e *SyncedEnforcer) DeletePermissionsForUser(user string) bool

DeletePermissionsForUser deletes permissions for a user or role. Returns false if the user or role does not have any permissions (aka not affected).

func (*SyncedEnforcer) DeleteRole Uses

func (e *SyncedEnforcer) DeleteRole(role string)

DeleteRole deletes a role.

func (*SyncedEnforcer) DeleteRoleForUser Uses

func (e *SyncedEnforcer) DeleteRoleForUser(user string, role string) bool

DeleteRoleForUser deletes a role for a user. Returns false if the user does not have the role (aka not affected).

func (*SyncedEnforcer) DeleteRolesForUser Uses

func (e *SyncedEnforcer) DeleteRolesForUser(user string) bool

DeleteRolesForUser deletes all roles for a user. Returns false if the user does not have any roles (aka not affected).

func (*SyncedEnforcer) DeleteUser Uses

func (e *SyncedEnforcer) DeleteUser(user string) bool

DeleteUser deletes a user. Returns false if the user does not exist (aka not affected).

func (*SyncedEnforcer) Enforce Uses

func (e *SyncedEnforcer) Enforce(rvals ...interface{}) bool

Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).

func (*SyncedEnforcer) EnforceSafe Uses

func (e *SyncedEnforcer) EnforceSafe(rvals ...interface{}) (result bool, err error)

EnforceSafe calls Enforce in a safe way, returns error instead of causing panic.

func (*SyncedEnforcer) GetAllActions Uses

func (e *SyncedEnforcer) GetAllActions() []string

GetAllActions gets the list of actions that show up in the current policy.

func (*SyncedEnforcer) GetAllObjects Uses

func (e *SyncedEnforcer) GetAllObjects() []string

GetAllObjects gets the list of objects that show up in the current policy.

func (*SyncedEnforcer) GetAllRoles Uses

func (e *SyncedEnforcer) GetAllRoles() []string

GetAllRoles gets the list of roles that show up in the current policy.

func (*SyncedEnforcer) GetAllSubjects Uses

func (e *SyncedEnforcer) GetAllSubjects() []string

GetAllSubjects gets the list of subjects that show up in the current policy.

func (*SyncedEnforcer) GetFilteredGroupingPolicy Uses

func (e *SyncedEnforcer) GetFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) [][]string

GetFilteredGroupingPolicy gets all the role inheritance rules in the policy, field filters can be specified.

func (*SyncedEnforcer) GetFilteredPolicy Uses

func (e *SyncedEnforcer) GetFilteredPolicy(fieldIndex int, fieldValues ...string) [][]string

GetFilteredPolicy gets all the authorization rules in the policy, field filters can be specified.

func (*SyncedEnforcer) GetGroupingPolicy Uses

func (e *SyncedEnforcer) GetGroupingPolicy() [][]string

GetGroupingPolicy gets all the role inheritance rules in the policy.

func (*SyncedEnforcer) GetPermissionsForUser Uses

func (e *SyncedEnforcer) GetPermissionsForUser(user string) [][]string

GetPermissionsForUser gets permissions for a user or role.

func (*SyncedEnforcer) GetPolicy Uses

func (e *SyncedEnforcer) GetPolicy() [][]string

GetPolicy gets all the authorization rules in the policy.

func (*SyncedEnforcer) GetRolesForUser Uses

func (e *SyncedEnforcer) GetRolesForUser(name string) []string

GetRolesForUser gets the roles that a user has.

func (*SyncedEnforcer) GetUsersForRole Uses

func (e *SyncedEnforcer) GetUsersForRole(name string) []string

GetUsersForRole gets the users that has a role.

func (*SyncedEnforcer) HasGroupingPolicy Uses

func (e *SyncedEnforcer) HasGroupingPolicy(params ...interface{}) bool

HasGroupingPolicy determines whether a role inheritance rule exists.

func (*SyncedEnforcer) HasPermissionForUser Uses

func (e *SyncedEnforcer) HasPermissionForUser(user string, permission ...string) bool

HasPermissionForUser determines whether a user has a permission.

func (*SyncedEnforcer) HasPolicy Uses

func (e *SyncedEnforcer) HasPolicy(params ...interface{}) bool

HasPolicy determines whether an authorization rule exists.

func (*SyncedEnforcer) HasRoleForUser Uses

func (e *SyncedEnforcer) HasRoleForUser(name string, role string) bool

HasRoleForUser determines whether a user has a role.

func (*SyncedEnforcer) LoadModelSafe Uses

func (e *SyncedEnforcer) LoadModelSafe() (err error)

LoadModelSafe calls LoadModel in a safe way, returns error instead of causing panic.

func (*SyncedEnforcer) LoadPolicy Uses

func (e *SyncedEnforcer) LoadPolicy() error

LoadPolicy reloads the policy from file/database.

func (*SyncedEnforcer) RemoveFilteredGroupingPolicy Uses

func (e *SyncedEnforcer) RemoveFilteredGroupingPolicy(fieldIndex int, fieldValues ...string) bool

RemoveFilteredGroupingPolicy removes a role inheritance rule from the current policy, field filters can be specified.

func (*SyncedEnforcer) RemoveFilteredPolicy Uses

func (e *SyncedEnforcer) RemoveFilteredPolicy(fieldIndex int, fieldValues ...string) bool

RemoveFilteredPolicy removes an authorization rule from the current policy, field filters can be specified.

func (*SyncedEnforcer) RemoveFilteredPolicySafe Uses

func (e *SyncedEnforcer) RemoveFilteredPolicySafe(fieldIndex int, fieldValues ...string) (result bool, err error)

RemoveFilteredPolicySafe calls RemoveFilteredPolicy in a safe way, returns error instead of causing panic.

func (*SyncedEnforcer) RemoveGroupingPolicy Uses

func (e *SyncedEnforcer) RemoveGroupingPolicy(params ...interface{}) bool

RemoveGroupingPolicy removes a role inheritance rule from the current policy.

func (*SyncedEnforcer) RemovePolicy Uses

func (e *SyncedEnforcer) RemovePolicy(params ...interface{}) bool

RemovePolicy removes an authorization rule from the current policy.

func (*SyncedEnforcer) RemovePolicySafe Uses

func (e *SyncedEnforcer) RemovePolicySafe(params ...interface{}) (result bool, err error)

RemovePolicySafe calls RemovePolicy in a safe way, returns error instead of causing panic.

func (*SyncedEnforcer) SavePolicy Uses

func (e *SyncedEnforcer) SavePolicy() error

SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.

func (*SyncedEnforcer) SetWatcher Uses

func (e *SyncedEnforcer) SetWatcher(watcher persist.Watcher)

SetWatcher sets the current watcher.

func (*SyncedEnforcer) StartAutoLoadPolicy Uses

func (e *SyncedEnforcer) StartAutoLoadPolicy(d time.Duration)

StartAutoLoadPolicy starts a go routine that will every specified duration call LoadPolicy

func (*SyncedEnforcer) StopAutoLoadPolicy Uses

func (e *SyncedEnforcer) StopAutoLoadPolicy()

StopAutoLoadPolicy causes the go routine to exit.

Directories

PathSynopsis
config
effect
log
model
persist
persist/file-adapter
rbac
rbac/default-role-manager
util

Package casbin imports 14 packages (graph) and is imported by 38 packages. Updated 2019-03-13. Refresh now. Tools for package owners.