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

package casbin

import "github.com/casbin/casbin"

Index

Package Files

enforcer.go enforcer_cached.go enforcer_synced.go internal_api.go management_api.go rbac_api.go rbac_api_synced.go rbac_api_with_domains.go rbac_api_with_domains_synced.go

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, error)

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, error)

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, error)

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 (*Enforcer) AddFunction Uses

func (e *Enforcer) AddFunction(name string, function govaluate.ExpressionFunction)

AddFunction adds a customized function.

func (*Enforcer) AddGroupingPolicy Uses

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

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) AddNamedGroupingPolicy Uses

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

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) AddNamedPolicy Uses

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

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) AddPermissionForUser Uses

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

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, error)

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) AddRoleForUser Uses

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

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, error)

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() error

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, error)

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, error)

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, error)

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) (bool, error)

DeleteRole deletes a role.

func (*Enforcer) DeleteRoleForUser Uses

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

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, error)

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, error)

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, error)

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, error)

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

func (*Enforcer) EnforceWithMatcher Uses

func (e *Enforcer) EnforceWithMatcher(matcher string, rvals ...interface{}) (bool, error)

EnforceWithMatcher use a custom matcher to decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (matcher, sub, obj, act), use model matcher by default when matcher is "".

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, domain ...string) ([][]string, error)

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, error)

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) GetImplicitUsersForPermission Uses

func (e *Enforcer) GetImplicitUsersForPermission(permission ...string) ([]string, error)

GetImplicitUsersForPermission gets implicit users for a permission. For example: p, admin, data1, read p, bob, data1, read g, alice, admin

GetImplicitUsersForPermission("data1", "read") will get: ["alice", "bob"]. Note: only users will be returned, roles (2nd arg in "g") will be excluded.

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) GetRoleManager Uses

func (e *Enforcer) GetRoleManager() rbac.RoleManager

GetRoleManager gets the current role manager.

func (*Enforcer) GetRolesForUser Uses

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

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, error)

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, error)

HasRoleForUser determines whether a user has a role.

func (*Enforcer) InitWithAdapter Uses

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

InitWithAdapter initializes an enforcer with a database adapter.

func (*Enforcer) InitWithFile Uses

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

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) error

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() error

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 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, error)

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

func (*Enforcer) RemoveFilteredNamedGroupingPolicy Uses

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

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

func (*Enforcer) RemoveFilteredNamedPolicy Uses

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

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, error)

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

func (*Enforcer) RemoveGroupingPolicy Uses

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

RemoveGroupingPolicy removes a role inheritance rule from the current policy.

func (*Enforcer) RemoveNamedGroupingPolicy Uses

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

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

func (*Enforcer) RemoveNamedPolicy Uses

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

RemoveNamedPolicy removes an authorization rule from the current named policy.

func (*Enforcer) RemovePolicy Uses

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

RemovePolicy removes an authorization rule from the current policy.

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) error

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, error)

NewSyncedEnforcer creates a synchronized enforcer via file or DB.

func (*SyncedEnforcer) AddFunction Uses

func (e *SyncedEnforcer) AddFunction(name string, function govaluate.ExpressionFunction)

AddFunction adds a customized function.

func (*SyncedEnforcer) AddGroupingPolicy Uses

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

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) AddNamedGroupingPolicy Uses

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

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 (*SyncedEnforcer) AddNamedPolicy Uses

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

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 (*SyncedEnforcer) AddPermissionForUser Uses

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

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, error)

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) AddRoleForUser Uses

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

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

func (*SyncedEnforcer) AddRoleForUserInDomain Uses

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

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

func (e *SyncedEnforcer) BuildRoleLinks() error

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, error)

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, error)

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, error)

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) (bool, error)

DeleteRole deletes a role. Returns false if the role does not exist (aka not affected).

func (*SyncedEnforcer) DeleteRoleForUser Uses

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

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

func (*SyncedEnforcer) DeleteRoleForUserInDomain Uses

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

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

func (*SyncedEnforcer) DeleteRolesForUser Uses

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

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, error)

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, error)

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

func (*SyncedEnforcer) GetAllActions Uses

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

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

func (*SyncedEnforcer) GetAllNamedActions Uses

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

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

func (*SyncedEnforcer) GetAllNamedObjects Uses

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

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

func (*SyncedEnforcer) GetAllNamedRoles Uses

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

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

func (*SyncedEnforcer) GetAllNamedSubjects Uses

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

GetAllNamedSubjects gets the list of subjects that show up in the current named 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) GetFilteredNamedGroupingPolicy Uses

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

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

func (*SyncedEnforcer) GetFilteredNamedPolicy Uses

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

GetFilteredNamedPolicy gets all the authorization rules in the named 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) GetNamedGroupingPolicy Uses

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

GetNamedGroupingPolicy gets all the role inheritance rules in the policy.

func (*SyncedEnforcer) GetNamedPolicy Uses

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

GetNamedPolicy gets all the authorization rules in the named policy.

func (*SyncedEnforcer) GetPermissionsForUser Uses

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

GetPermissionsForUser gets permissions for a user or role.

func (*SyncedEnforcer) GetPermissionsForUserInDomain Uses

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

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

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, error)

GetRolesForUser gets the roles that a user has.

func (*SyncedEnforcer) GetRolesForUserInDomain Uses

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

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

func (*SyncedEnforcer) GetUsersForRole Uses

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

GetUsersForRole gets the users that has a role.

func (*SyncedEnforcer) GetUsersForRoleInDomain Uses

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

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

func (*SyncedEnforcer) HasGroupingPolicy Uses

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

HasGroupingPolicy determines whether a role inheritance rule exists.

func (*SyncedEnforcer) HasNamedGroupingPolicy Uses

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

HasNamedGroupingPolicy determines whether a named role inheritance rule exists.

func (*SyncedEnforcer) HasNamedPolicy Uses

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

HasNamedPolicy determines whether a named authorization 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, error)

HasRoleForUser determines whether a user has a role.

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, error)

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

func (*SyncedEnforcer) RemoveFilteredNamedGroupingPolicy Uses

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

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

func (*SyncedEnforcer) RemoveFilteredNamedPolicy Uses

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

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

func (*SyncedEnforcer) RemoveFilteredPolicy Uses

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

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

func (*SyncedEnforcer) RemoveGroupingPolicy Uses

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

RemoveGroupingPolicy removes a role inheritance rule from the current policy.

func (*SyncedEnforcer) RemoveNamedGroupingPolicy Uses

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

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

func (*SyncedEnforcer) RemoveNamedPolicy Uses

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

RemoveNamedPolicy removes an authorization rule from the current named policy.

func (*SyncedEnforcer) RemovePolicy Uses

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

RemovePolicy removes an authorization rule from the current policy.

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) error

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
errors
log
model
persist
persist/file-adapter
rbac
rbac/default-role-manager
util

Package casbin imports 15 packages (graph) and is imported by 51 packages. Updated 2019-10-16. Refresh now. Tools for package owners.