I used RBAC for my website!
But I don’t know how to use saveAuthItem()~~~
Could you give me a example about use saveAuthItem()~~~?TKS~
BTW~~~ bizrule what it meaning~~~
I used RBAC for my website!
But I don’t know how to use saveAuthItem()~~~
Could you give me a example about use saveAuthItem()~~~?TKS~
BTW~~~ bizrule what it meaning~~~
// create initial authorization roles
$auth = Yii::app()->authManager;
if (!$auth) {
echo "No AuthManager is defined.\n";
return false;
}
$auth->createOperation('createCompany', 'Create a new company record');
$auth->createOperation('readCompany', 'View company records');
// example of a task.
$bizRule = 'return Yii::app()->user->id == $params["company"]->last_updated_user_id;';
$task = $auth->createTask('updateOwnCompany', 'Update a company record owned by a user', $bizRule);
$role = $auth->createRole('dataReader', 'Read all public data');
$role->addChild('readCompany');
$role->addChild('updateOwnCompany');
$role = $auth->createRole('dataCreator', 'Create all public data');
$role->addChild('createCompany');
$role = $auth->createRole('dataAdmin', 'Administer all public data');
$role->addChild('dataCreator');
$role->addChild('dataReader');
// assign out initial roles and permissions
$userNames = array('tom', 'dick', 'harry');
foreach ($userNames as $name) {
$user = User::model()->findByAttributes(array('name' => $name));
if ($user) {
$auth->assign('dataAdmin', $user->id);
}
}
Bhank you Preston Brown ~~~
But I don’t see how to edit the name or the description of the role or the Operation!
You mean after it is already created?
How about:
$role = $auth->getAuthItem('dataCreator');
$role->name = 'dataMaker';
$role->description = 'Make Data!';
$auth->saveAuthItem($role, 'dataCreator'); // have to give the old name so the auth manager can fix all relations
yes~it is~~
Thank you very much~~~~~~