我正在尋找一種方法來讓管理員在從後端註冊用戶後分配用戶角色。我在yii2 advanced中配置了yii2-admin,並且我已經在數據庫表中設置了角色。Yii2-admin RBAC:從數據庫獲取角色並在註冊/用戶註冊時顯示爲Dropdownlist
但是我想將用戶註冊表單上的角色作爲下拉列表,管理員應該能夠選擇角色並分配給用戶。下拉列表中的角色應該低於管理員角色或等同於他的角色...即,如果有超級用戶的系統管理員角色,則管理員應該無法將角色作爲分配後的選項之一那個角色意味着用戶將會比他的角色更高。
我已經在網上搜索,但只得到了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
}
?>
而控制器代碼:
if(Yii::app()->user->isSuperuser)
$type=$_POST['Type'];
else
$type='User';
$authorizer = Yii::app()->getModule("rights")->authorizer;
$authorizer->authManager->assign($type, $model->id);
與任何人的想法如何將這個轉換爲Yii2?請協助;我一直在這個問題上停留了一段時間。
謝謝。