您的位置:首页 > 编程语言

Drupal上使用代码添加新角色,并赋予角色权限

2017-10-20 17:20 169 查看
Drupal虽然提供了界面操作用户和拥护权限,但有时候需要通过程序自动创建新角色和管理权限,下面就通过程序新增角色和管理角色权限。

Drupal上角色是保存在role表,而角色的权限则是保存在role_permission表。现在知道了保存的位置,程序上的实现就简单了。

$values = array();
$config['新角色']['permission'] = array(
1 => array('node' => 'access content')
);
if(isset($role_config[$role_name])) {
$transaction = isset($transaction) ? $transaction : db_transaction();
try{
$insert = db_insert('role');//创建角色
$state = $insert->fields(array(
'name' => $role_name,
'weight'=> 100,
))->execute();
if($state) {
foreach($role_config[$role_name]['permission'] as $val_arr) {
foreach($val_arr as $module => $permission) {
$values[] = array(
'rid' => $state,
'permission'=> $permission,
'module' => $module
);
}
}
$insert2 = db_insert('role_permission');//勾选角色拥有的权限
$insert2->fields(array('rid', 'permission','module'));
foreach($values as $value) {
$insert2->values($value);
}
$insert2->execute();
}

}catch(Exception $e) {
$transaction->rollback();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐