Namespaces

  • Latte
    • Loaders
    • Macros
    • Runtime
  • Nette
    • Application
      • Responses
      • Routers
      • UI
    • Bridges
      • ApplicationDI
      • ApplicationLatte
      • ApplicationTracy
      • CacheDI
      • CacheLatte
      • DatabaseDI
      • DatabaseTracy
      • DITracy
      • FormsDI
      • FormsLatte
      • Framework
      • HttpDI
      • HttpTracy
      • MailDI
      • ReflectionDI
      • SecurityDI
      • SecurityTracy
    • Caching
      • Storages
    • ComponentModel
    • Database
      • Conventions
      • Drivers
      • Table
    • DI
      • Config
        • Adapters
      • Extensions
    • Forms
      • Controls
      • Rendering
    • Http
    • Iterators
    • Loaders
    • Localization
    • Mail
    • Neon
    • PhpGenerator
      • Traits
    • Reflection
    • Security
    • Tokenizer
    • Utils
  • Tracy
    • Bridges
      • Nette
  • none

Classes

  • Identity
  • Passwords
  • Permission
  • SimpleAuthenticator
  • User

Interfaces

  • IAuthenticator
  • IAuthorizator
  • IIdentity
  • IResource
  • IRole
  • IUserStorage

Exceptions

  • AuthenticationException
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Other releases

Class Permission

Access control list (ACL) functionality and privileges management.

This solution is mostly based on Zend_Acl (c) Zend Technologies USA Inc. (http://www.zend.com), new BSD license

Nette\Security\Permission implements Nette\Security\IAuthorizator uses Nette\SmartObject
Namespace: Nette\Security
Copyright: Copyright (c) 2005, 2007 Zend Technologies USA Inc.
Located at Security/Permission.php
Methods summary
public Nette\Security\Permission
# addRole( string $role, string|array $parents = null )

Adds a Role to the list. The most recently added parent takes precedence over parents that were previously added.

Adds a Role to the list. The most recently added parent takes precedence over parents that were previously added.

Parameters

$role
$parents

Returns

Nette\Security\Permission
static

Throws

Nette\InvalidArgumentException
Nette\InvalidArgumentException
Nette\InvalidStateException
Nette\InvalidStateException
public boolean
# hasRole( string $role )

Returns true if the Role exists in the list.

Returns true if the Role exists in the list.

Parameters

$role

Returns

boolean
bool
public array
# getRoles( )

Returns all Roles.

Returns all Roles.

Returns

array
array
public array
# getRoleParents( string $role )

Returns existing Role's parents ordered by ascending priority.

Returns existing Role's parents ordered by ascending priority.

Parameters

$role

Returns

array
array
public boolean
# roleInheritsFrom( string $role, string $inherit, boolean $onlyParents = false )

Returns true if $role inherits from $inherit. If $onlyParents is true, then $role must inherit directly from $inherit.

Returns true if $role inherits from $inherit. If $onlyParents is true, then $role must inherit directly from $inherit.

Parameters

$role
$inherit
$onlyParents

Returns

boolean
bool

Throws

Nette\InvalidStateException
Nette\InvalidStateException
public Nette\Security\Permission
# removeRole( string $role )

Removes the Role from the list.

Removes the Role from the list.

Parameters

$role

Returns

Nette\Security\Permission
static

Throws

Nette\InvalidStateException
Nette\InvalidStateException
public Nette\Security\Permission
# removeAllRoles( )

Removes all Roles from the list.

Removes all Roles from the list.

Returns

Nette\Security\Permission
static
public Nette\Security\Permission
# addResource( string $resource, string $parent = null )

Adds a Resource having an identifier unique to the list.

Adds a Resource having an identifier unique to the list.

Parameters

$resource
$parent

Returns

Nette\Security\Permission
static

Throws

Nette\InvalidArgumentException
Nette\InvalidArgumentException
Nette\InvalidStateException
Nette\InvalidStateException
public boolean
# hasResource( string $resource )

Returns true if the Resource exists in the list.

Returns true if the Resource exists in the list.

Parameters

$resource

Returns

boolean
bool
public array
# getResources( )

Returns all Resources.

Returns all Resources.

Returns

array
array
public boolean
# resourceInheritsFrom( string $resource, string $inherit, boolean $onlyParent = false )

Returns true if $resource inherits from $inherit. If $onlyParents is true, then $resource must inherit directly from $inherit.

Returns true if $resource inherits from $inherit. If $onlyParents is true, then $resource must inherit directly from $inherit.

Parameters

$resource
$inherit
$onlyParent

Returns

boolean
bool

Throws

Nette\InvalidStateException
Nette\InvalidStateException
public Nette\Security\Permission
# removeResource( string $resource )

Removes a Resource and all of its children.

Removes a Resource and all of its children.

Parameters

$resource

Returns

Nette\Security\Permission
static

Throws

Nette\InvalidStateException
Nette\InvalidStateException
public Nette\Security\Permission
# removeAllResources( )

Removes all Resources.

Removes all Resources.

Returns

Nette\Security\Permission
static
public Nette\Security\Permission
# allow( string|string[]|null $roles = Nette\Security\IAuthorizator::ALL, string|string[]|null $resources = Nette\Security\IAuthorizator::ALL, string|string[]|null $privileges = Nette\Security\IAuthorizator::ALL, callable $assertion = null )

Allows one or more Roles access to [certain $privileges upon] the specified Resource(s). If $assertion is provided, then it must return true in order for rule to apply.

Allows one or more Roles access to [certain $privileges upon] the specified Resource(s). If $assertion is provided, then it must return true in order for rule to apply.

Parameters

$roles
$resources
$privileges
$assertion
assertion

Returns

Nette\Security\Permission
static
public Nette\Security\Permission
# deny( string|string[]|null $roles = Nette\Security\IAuthorizator::ALL, string|string[]|null $resources = Nette\Security\IAuthorizator::ALL, string|string[]|null $privileges = Nette\Security\IAuthorizator::ALL, callable $assertion = null )

Denies one or more Roles access to [certain $privileges upon] the specified Resource(s). If $assertion is provided, then it must return true in order for rule to apply.

Denies one or more Roles access to [certain $privileges upon] the specified Resource(s). If $assertion is provided, then it must return true in order for rule to apply.

Parameters

$roles
$resources
$privileges
$assertion
assertion

Returns

Nette\Security\Permission
static
public Nette\Security\Permission
# removeAllow( string|string[]|null $roles = Nette\Security\IAuthorizator::ALL, string|string[]|null $resources = Nette\Security\IAuthorizator::ALL, string|string[]|null $privileges = Nette\Security\IAuthorizator::ALL )

Removes "allow" permissions from the list in the context of the given Roles, Resources, and privileges.

Removes "allow" permissions from the list in the context of the given Roles, Resources, and privileges.

Parameters

$roles
$resources
$privileges

Returns

Nette\Security\Permission
static
public Nette\Security\Permission
# removeDeny( string|string[]|null $roles = Nette\Security\IAuthorizator::ALL, string|string[]|null $resources = Nette\Security\IAuthorizator::ALL, string|string[]|null $privileges = Nette\Security\IAuthorizator::ALL )

Removes "deny" restrictions from the list in the context of the given Roles, Resources, and privileges.

Removes "deny" restrictions from the list in the context of the given Roles, Resources, and privileges.

Parameters

$roles
$resources
$privileges

Returns

Nette\Security\Permission
static
protected Nette\Security\Permission
# setRule( boolean $toAdd, boolean $type, string|string[]|null $roles, string|string[]|null $resources, string|string[]|null $privileges, callable $assertion = null )

Performs operations on Access Control List rules.

Performs operations on Access Control List rules.

Parameters

$toAdd
add?
$type
type
$roles
$resources
$privileges
$assertion
assertion

Returns

Nette\Security\Permission
static

Throws

Nette\InvalidStateException
Nette\InvalidStateException
public boolean
# isAllowed( string|null|Nette\Security\IRole $role = Nette\Security\IAuthorizator::ALL, string|null|Nette\Security\IResource $resource = Nette\Security\IAuthorizator::ALL, string|null $privilege = Nette\Security\IAuthorizator::ALL )

Returns true if and only if the Role has access to [certain $privileges upon] the Resource.

Returns true if and only if the Role has access to [certain $privileges upon] the Resource.

This method checks Role inheritance using a depth-first traversal of the Role list. The highest priority parent (i.e., the parent most recently added) is checked first, and its respective parents are checked similarly before the lower-priority parents of the Role are checked.

Parameters

$role
$resource
$privilege

Returns

boolean
bool

Throws

Nette\InvalidStateException
Nette\InvalidStateException

Implementation of

Nette\Security\IAuthorizator::isAllowed()
public mixed
# getQueriedRole( )

Returns real currently queried Role. Use by assertion.

Returns real currently queried Role. Use by assertion.

Returns

mixed
mixed
public mixed
# getQueriedResource( )

Returns real currently queried Resource. Use by assertion.

Returns real currently queried Resource. Use by assertion.

Returns

mixed
mixed
Methods used from Nette\SmartObject
__call(), __callStatic(), __get(), __isset(), __set(), __unset(), extensionMethod(), getReflection()
Constants inherited from Nette\Security\IAuthorizator
ALL, ALLOW, DENY
Nette 2.4-20180918 API API documentation generated by ApiGen 2.8.0