私はYiiにとって非常に新しいです。私は実世界の例を開発しています。 私はテーブルを持っているので、データベースからデータを取得するユーザーと呼ばれるモデルです。データベースの3つの主なフィールドは、username、password、およびuserRoleです。 ユーザー名とパスワードは正常に機能します。 私はデータベース内のuserRoleを調べ、それに基づいてユーザーに役割を割り当てます。 たとえば、ユーザーのuserRoleフィールド== 1です。ユーザーはadminであり、作成、読み取り、更新および削除(CRUD)が可能です。 しかし、ユーザーのuserRole == 2の場合、ユーザーは更新と作成はできますが、削除はできません。 私はUserController.phpの 'expression' ib accessRules()でそれをしようとしましたが、それは動作しませんでした。 それから私はそれについて読んで、私は役割でそれをやるべきだと分かった。 これは私が書いたものです:Yiiのデータベースからユーザー権限を得る方法
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を定義していますか? 戻り値の配列で 'roles'を使用するにはどうすればよいですか? また、データベースからuserRoleを取得する必要がありますか?
Yiiのフォーラムは
は(あなたがそれらを作成または編集するたびに)操作と役割の作成は1時間の活動であるあなたに