CAuthItem
| Package |
system.web.auth |
| Inheritance |
class CAuthItem »
CComponent |
| Since |
1.0 |
| Version |
$Id: CAuthItem.php 1933 2010-03-16 23:38:32Z alexander.makarow $ |
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
Hide inherited 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 |
string |
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 |
Property Details
the authorization manager
the business rule associated with this item
Returns the children of this item.
the additional data associated with this item
the item description
the item name
the authorization item type. This could be 0 (operation), 1 (task) or 2 (role).
Method Details
public void __construct( IAuthManager $auth, string $name, integer $type, description $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 |
description |
the description |
| $bizRule |
string |
the business rule associated with this item |
| $data |
mixed |
additional data for this item |
Constructor.
|
public boolean addChild(string $name)
|
| $name |
string |
the name of the child item |
| {return} |
boolean |
whether the item is added successfully |
Adds a child item.
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. |
Assigns this item to a user.
|
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. |
Checks to see if the specified item is within the hierarchy starting from this item.
This method is internally used by IAuthManager::checkAccess.
|
|
| $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. |
Returns the item assignment information.
|
public string getBizRule()
|
| {return} |
string |
the business rule associated with this item |
|
public array getChildren()
|
| {return} |
array |
all child items of this item. |
Returns the children of this item.
|
public string getData()
|
| {return} |
string |
the additional data associated with this item |
|
public string getDescription()
|
| {return} |
string |
the item description |
|
public string getName()
|
| {return} |
string |
the item name |
|
public integer getType()
|
| {return} |
integer |
the authorization item type. This could be 0 (operation), 1 (task) or 2 (role). |
|
public boolean hasChild(string $name)
|
| $name |
string |
the child item name |
| {return} |
boolean |
whether the child exists |
Returns a value indicating whether a child exists
|
public boolean isAssigned(mixed $userId)
|
| $userId |
mixed |
the user ID (see IWebUser::getId) |
| {return} |
boolean |
whether the item has been assigned to the user. |
Returns a value indicating whether this item has been assigned to the user.
|
public boolean removeChild(string $name)
|
| $name |
string |
the child item name |
| {return} |
boolean |
whether the removal is successful |
Removes a child item.
Note, the child item is not deleted. Only the parent-child relationship is removed.
|
public boolean revoke(mixed $userId)
|
| $userId |
mixed |
the user ID (see IWebUser::getId) |
| {return} |
boolean |
whether removal is successful |
Revokes an authorization assignment from a user.
|
public void setBizRule(string $value)
|
| $value |
string |
the business rule associated with this item |
|
public void setData(string $value)
|
| $value |
string |
the business rule associated with this item |
|
public void setDescription(string $value)
|
| $value |
string |
the item description |
|
public void setName(string $value)
|
| $value |
string |
the item name |
Make sure you do not call Yii::app()->user->checkAcces() from within a bizrule, it will result in a endless nesting of function calls and a white screen.
Remove the '@' in line 141 CAuthManager: return empty($bizRule) || @eval($bizRule)!=0;
For debugging, if you get a white screen.