私はYiiにとても慣れていません。私は実際の例を開発しています。私はテーブルを持っているので、データベースからデータを取得するuserというモデルがあります。データベースの3つの主要なフィールドは、username、password、およびuserRoleです。ユーザー名とパスワードは問題なく機能します。データベース内の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フォーラムがアクティブではないので、私は必死に答えを探しています
ありがとうございました