CAuthItem

Package system.web.auth
Inheritance class CAuthItem » CComponent
Since 1.0
Source Code framework/web/auth/CAuthItem.php
CAuthItem represents an authorization item. An authorization item can be an operation, a task or a role. They form an authorization hierarchy. Items on higher levels of the hierarchy inherit the permissions represented by items on lower levels. A user may be assigned one or several authorization items (called assignments. He can perform an operation only when it is among his assigned items.

Public Properties

Property Type Description Defined By
authManager IAuthManager the authorization manager CAuthItem
bizRule string the business rule associated with this item CAuthItem
children array Returns the children of this item. CAuthItem
data mixed the additional data associated with this item CAuthItem
description string the item description CAuthItem
name string the item name CAuthItem
type integer the authorization item type. CAuthItem

Public Methods

Method Description Defined By
__call() Calls the named method which is not a class method. CComponent
__construct() Constructor. CAuthItem
__get() Returns a property value, an event handler list or a behavior based on its name. CComponent
__isset() Checks if a property value is null. CComponent
__set() Sets value of a component property. CComponent
__unset() Sets a component property to be null. CComponent
addChild() Adds a child item. CAuthItem
asa() Returns the named behavior object. CComponent
assign() Assigns this item to a user. CAuthItem
attachBehavior() Attaches a behavior to this component. CComponent
attachBehaviors() Attaches a list of behaviors to the component. CComponent
attachEventHandler() Attaches an event handler to an event. CComponent
canGetProperty() Determines whether a property can be read. CComponent
canSetProperty() Determines whether a property can be set. CComponent
checkAccess() Checks to see if the specified item is within the hierarchy starting from this item. CAuthItem
detachBehavior() Detaches a behavior from the component. CComponent
detachBehaviors() Detaches all behaviors from the component. CComponent
detachEventHandler() Detaches an existing event handler. CComponent
disableBehavior() Disables an attached behavior. CComponent
disableBehaviors() Disables all behaviors attached to this component. CComponent
enableBehavior() Enables an attached behavior. CComponent
enableBehaviors() Enables all behaviors attached to this component. CComponent
evaluateExpression() Evaluates a PHP expression or callback under the context of this component. CComponent
getAssignment() Returns the item assignment information. CAuthItem
getAuthManager() Returns the authorization manager CAuthItem
getBizRule() Returns the business rule associated with this item CAuthItem
getChildren() Returns the children of this item. CAuthItem
getData() Returns the additional data associated with this item CAuthItem
getDescription() Returns the item description CAuthItem
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getName() Returns the item name CAuthItem
getType() Returns the authorization item type. This could be 0 (operation), 1 (task) or 2 (role). CAuthItem
hasChild() Returns a value indicating whether a child exists CAuthItem
hasEvent() Determines whether an event is defined. CComponent
hasEventHandler() Checks whether the named event has attached handlers. CComponent
hasProperty() Determines whether a property is defined. CComponent
isAssigned() Returns a value indicating whether this item has been assigned to the user. CAuthItem
raiseEvent() Raises an event. CComponent
removeChild() Removes a child item. CAuthItem
revoke() Revokes an authorization assignment from a user. CAuthItem
setBizRule() Sets the business rule associated with this item CAuthItem
setData() Sets the additional data associated with this item CAuthItem
setDescription() Sets the item description CAuthItem
setName() Sets the item name CAuthItem

Property Details

authManager property read-only

public IAuthManager getAuthManager()

the authorization manager

bizRule property

public string getBizRule()
public void setBizRule(string $value)

the business rule associated with this item

children property read-only

public array getChildren()

Returns the children of this item.

data property

public mixed getData()
public void setData(mixed $value)

the additional data associated with this item

description property

public string getDescription()
public void setDescription(string $value)

the item description

name property

public string getName()
public void setName(string $value)

the item name

type property read-only

public integer getType()

the authorization item type. This could be 0 (operation), 1 (task) or 2 (role).

Method Details

__construct() method

public void __construct(IAuthManager $auth, string $name, integer $type, string $description='', string $bizRule=NULL, mixed $data=NULL)
$auth IAuthManager authorization manager
$name string authorization item name
$type integer authorization item type. This can be 0 (operation), 1 (task) or 2 (role).
$description string the description
$bizRule string the business rule associated with this item
$data mixed additional data for this item
Source Code: framework/web/auth/CAuthItem.php#53 (show)
public function __construct($auth,$name,$type,$description='',$bizRule=null,$data=null)
{
    
$this->_type=(int)$type;
    
$this->_auth=$auth;
    
$this->_name=$name;
    
$this->_description=$description;
    
$this->_bizRule=$bizRule;
    
$this->_data=$data;
}

Constructor.

addChild() method

public boolean addChild(string $name)
$name string the name of the child item
{return} boolean whether the item is added successfully
Source Code: framework/web/auth/CAuthItem.php#191 (show)
public function addChild($name)
{
    return 
$this->_auth->addItemChild($this->_name,$name);
}

Adds a child item.

assign() method

public CAuthAssignment assign(mixed $userId, string $bizRule=NULL, mixed $data=NULL)
$userId mixed the user ID (see IWebUser::getId)
$bizRule string the business rule to be executed when checkAccess is called for this particular authorization item.
$data mixed additional data associated with this assignment
{return} CAuthAssignment the authorization assignment information.
Source Code: framework/web/auth/CAuthItem.php#239 (show)
public function assign($userId,$bizRule=null,$data=null)
{
    return 
$this->_auth->assign($this->_name,$userId,$bizRule,$data);
}

Assigns this item to a user.

checkAccess() method

public boolean checkAccess(string $itemName, array $params=array ( ))
$itemName string the name of the item to be checked
$params array the parameters to be passed to business rule evaluation
{return} boolean whether the specified item is within the hierarchy starting from this item.
Source Code: framework/web/auth/CAuthItem.php#71 (show)
public function checkAccess($itemName,$params=array())
{
    
Yii::trace('Checking permission "'.$this->_name.'"','system.web.auth.CAuthItem');
    if(
$this->_auth->executeBizRule($this->_bizRule,$params,$this->_data))
    {
        if(
$this->_name==$itemName)
            return 
true;
        foreach(
$this->_auth->getItemChildren($this->_name) as $item)
        {
            if(
$item->checkAccess($itemName,$params))
                return 
true;
        }
    }
    return 
false;
}

Checks to see if the specified item is within the hierarchy starting from this item. This method is expected to be internally used by the actual implementations of the IAuthManager::checkAccess.

getAssignment() method

public CAuthAssignment getAssignment(mixed $userId)
$userId mixed the user ID (see IWebUser::getId)
{return} CAuthAssignment the item assignment information. Null is returned if this item is not assigned to the user.
Source Code: framework/web/auth/CAuthItem.php#273 (show)
public function getAssignment($userId)
{
    return 
$this->_auth->getAuthAssignment($this->_name,$userId);
}

Returns the item assignment information.

getAuthManager() method

public IAuthManager getAuthManager()
{return} IAuthManager the authorization manager
Source Code: framework/web/auth/CAuthItem.php#90 (show)
public function getAuthManager()
{
    return 
$this->_auth;
}

getBizRule() method

public string getBizRule()
{return} string the business rule associated with this item
Source Code: framework/web/auth/CAuthItem.php#147 (show)
public function getBizRule()
{
    return 
$this->_bizRule;
}

getChildren() method

public array getChildren()
{return} array all child items of this item.
Source Code: framework/web/auth/CAuthItem.php#224 (show)
public function getChildren()
{
    return 
$this->_auth->getItemChildren($this->_name);
}

Returns the children of this item.

getData() method

public mixed getData()
{return} mixed the additional data associated with this item
Source Code: framework/web/auth/CAuthItem.php#167 (show)
public function getData()
{
    return 
$this->_data;
}

getDescription() method

public string getDescription()
{return} string the item description
Source Code: framework/web/auth/CAuthItem.php#127 (show)
public function getDescription()
{
    return 
$this->_description;
}

getName() method

public string getName()
{return} string the item name
Source Code: framework/web/auth/CAuthItem.php#106 (show)
public function getName()
{
    return 
$this->_name;
}

getType() method

public integer getType()
{return} integer the authorization item type. This could be 0 (operation), 1 (task) or 2 (role).
Source Code: framework/web/auth/CAuthItem.php#98 (show)
public function getType()
{
    return 
$this->_type;
}

hasChild() method

public boolean hasChild(string $name)
$name string the child item name
{return} boolean whether the child exists
Source Code: framework/web/auth/CAuthItem.php#214 (show)
public function hasChild($name)
{
    return 
$this->_auth->hasItemChild($this->_name,$name);
}

Returns a value indicating whether a child exists

isAssigned() method

public boolean isAssigned(mixed $userId)
$userId mixed the user ID (see IWebUser::getId)
{return} boolean whether the item has been assigned to the user.
Source Code: framework/web/auth/CAuthItem.php#261 (show)
public function isAssigned($userId)
{
    return 
$this->_auth->isAssigned($this->_name,$userId);
}

Returns a value indicating whether this item has been assigned to the user.

removeChild() method

public boolean removeChild(string $name)
$name string the child item name
{return} boolean whether the removal is successful
Source Code: framework/web/auth/CAuthItem.php#203 (show)
public function removeChild($name)
{
    return 
$this->_auth->removeItemChild($this->_name,$name);
}

Removes a child item. Note, the child item is not deleted. Only the parent-child relationship is removed.

revoke() method

public boolean revoke(mixed $userId)
$userId mixed the user ID (see IWebUser::getId)
{return} boolean whether removal is successful
Source Code: framework/web/auth/CAuthItem.php#250 (show)
public function revoke($userId)
{
    return 
$this->_auth->revoke($this->_name,$userId);
}

Revokes an authorization assignment from a user.

setBizRule() method

public void setBizRule(string $value)
$value string the business rule associated with this item
Source Code: framework/web/auth/CAuthItem.php#155 (show)
public function setBizRule($value)
{
    if(
$this->_bizRule!==$value)
    {
        
$this->_bizRule=$value;
        
$this->_auth->saveAuthItem($this);
    }
}

setData() method

public void setData(mixed $value)
$value mixed the additional data associated with this item
Source Code: framework/web/auth/CAuthItem.php#175 (show)
public function setData($value)
{
    if(
$this->_data!==$value)
    {
        
$this->_data=$value;
        
$this->_auth->saveAuthItem($this);
    }
}

setDescription() method

public void setDescription(string $value)
$value string the item description
Source Code: framework/web/auth/CAuthItem.php#135 (show)
public function setDescription($value)
{
    if(
$this->_description!==$value)
    {
        
$this->_description=$value;
        
$this->_auth->saveAuthItem($this);
    }
}

setName() method

public void setName(string $value)
$value string the item name
Source Code: framework/web/auth/CAuthItem.php#114 (show)
public function setName($value)
{
    if(
$this->_name!==$value)
    {
        
$oldName=$this->_name;
        
$this->_name=$value;
        
$this->_auth->saveAuthItem($this,$oldName);
    }
}

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CAuthItem