欢迎各位兄弟 发布技术文章
这里的技术是共享的
Drupal中如何编程创建用户角色并设置角色权限呢?
以下是摘自profiles/standard/standard.install
的代码,通过该代码可以可以很直观了解创建和设置权限的过程。
// Enable default permissions for system roles. // 设置系统用户(匿名用户和注册用户)的默认权限 $filtered_html_permission = filter_permission_name($filtered_html_format); user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content', 'access comments', $filtered_html_permission)); user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content', 'access comments', 'post comments', 'skip comment approval', $filtered_html_permission)); // Create a default role for site administrators, with all available permissions assigned. // 创建网站管理员角色,并分配所有权限 $admin_role = new stdClass(); // 创建标准类 $admin_role->name = 'administrator'; // 设置角色名称 $admin_role->weight = 2; // (可选)设置角色显示权重,即在admin/people/permissions/roles页面中的显示顺序 user_role_save($admin_role); // 创建角色 user_role_grant_permissions($admin_role->rid, array_keys(module_invoke_all('permission'))); // 分配权限 // Set this as the administrator role. variable_set('user_admin_role', $admin_role->rid); // Assign user 1 the "administrator" role. // 设置uid为1的用户(网站管理员)的角色 db_insert('users_roles') ->fields(array('uid' => 1, 'rid' => $admin_role->rid)) ->execute();
来自 http://drupal.milkythinking.com/drupal7/programmatically-create-roles-and-grant-permissions