管理者がバックエンドから登録した後でユーザーロールを割り当てる方法を探しています。私はyii2アドミニストレーターをyii2に設定しました。私はすでにデータベーステーブルにロールを設定しています。Yii2-admin RBAC:データベースからロールを取得し、サインアップ/ユーザー登録のドロップダウンリストとして表示します。
しかし、私はユーザ登録フォームのロールをドロップダウンリストとして取得したいので、管理者はロールを選択してユーザに割り当てることができます。ドロップダウンリストの役割は、管理者または同等の役割よりも低いものでなければなりません。つまり、スーパーユーザーであるsysadmin役割がある場合、管理者は割り当て後のオプションの1つとして役割を取得できませんその役割は、ユーザーが自分の役割よりも高くなることを意味します。
私はオンラインで検索しましたが、カスタマイズしようとしたYii 1.1のコードしか取得していませんが、まったく動作しません。コードは下に提供されます。フォーム上
ドロップダウンリスト:
<?php
if (Yii::app()->user->isSuperuser) {
$all_roles=new RAuthItemDataProvider('roles', array(
'type'=>2,
));
$data=$all_roles->fetchData();
?>
<div>
<label for="type_id">Type</label>
<?php echo CHtml::dropDownList("Type",'',CHtml::listData($data,'name','name'));? >
</div>
<?php
}
?>
とコントローラのコードは次のとおりです。Yii2にこれを変換する方法のアイデアを持つ
if(Yii::app()->user->isSuperuser)
$type=$_POST['Type'];
else
$type='User';
$authorizer = Yii::app()->getModule("rights")->authorizer;
$authorizer->authManager->assign($type, $model->id);
誰ですか?手伝ってください;私はしばらくこの問題に立ち往生してきました。
ありがとうございます。私は_form
にコードの下で私のアプリでは使用し