我对 Yii 非常陌生。我正在开发一个真实世界的例子。我有一个表,因此有一个模型,称为用户,它从数据库中获取数据。数据库中的三个主要字段是用户名、密码和用户角色。用户名和密码工作得很好。我只需要查看数据库中的 userRole 并在此基础上为用户分配角色。例如是用户的userRole字段==1,用户是admin,可以创建、读取、更新和删除(CRUD)。但是如果用户的 userRole ==2,用户可以更新和创建但不能删除。我尝试在 UserController.php 中使用 'expression' ib accessRules() 来完成它,但它没有用。然后我读到它,发现我应该用角色来做。这就是我写的:
public function accessRules()
{
$auth = Yii::app()->authManager;
$auth->createOperation('createUser','create a user');
$auth->createOperation('updateUser','update a user');
$auth->createOperation('deleteUser','delete a user');
$role=$auth->createRole('creator');
$role->addChild('createUser');
$role=$auth->createRole('updater');
$role->addChild('updateUser');
$role=$auth->createRole('deleter');
$role->addChild('deleteUser');
return array(
................................
array('allow',
'actions'=>array('create','update'),
'users'=>array('@'),
'roles'=>????,
.....................
???是我不知道该怎么做的地方。我是否在正确的位置/文件中定义了 createOperation/addChild?如何在返回数组中使用“角色”?另外我应该在哪里从数据库中获取 userRole?
由于 Yii 论坛不活跃,我正在拼命寻找答案
谢谢