/**
* @param $userId
*/
public static function initAdminAuth($userId)
{
self::enSureAuthManager();
/**
* @param $data
* @param \yii\rbac\ManagerInterface $authManager
* @param null $parent
*/
function addItem($data, $authManager, $parent = null)
{
foreach ($data as $d) {
$item = $authManager->createPermission($d['action']);
$item->description = $d['name'];
$authManager->add($item);
$authManager->addChild($parent, $item);
if (isset($d['children'])) {
addItem($d['children'], $authManager, $item);
}
}
}
\App::me()->db->transaction(function () use($userId) {
self::cleanAll();
$role = self::$_authManager->createRole('admin');
$role->description = '超级管理员';
self::$_authManager->add($role);
addItem(self::all(), self::$_authManager, $role);
self::$_authManager->assign($role, $userId);
});
}