• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

drupal学习经验(后台权限管理)

drupal 搞代码 4年前 (2021-12-16) 32次浏览 已收录 0个评论

后台权限管理,是后台一个重要的模块,这个关乎到数据的安全,什么样的人访问什么样模块,例如:财务人员只可以访问财务模块,评论审核人员只能访问信息模块等。drupal也有这样的权限管理

一,drupal后台的每个操作最终都可以归就于对菜单的管理

为什么这么说呢?正常的菜单访问我就不说了,下面以drupal自带的taxonomy(分类模块)为例,说明一下

后台操作

如上图所示红色框中的内容,按正常理解他只是页面中的一个操作,但是drupal把它也定义成了菜单的样子。

list terms 对应的url是http://localhost/drupal/?q=admin/content/taxonomy/1,对应的菜单模块是drupal/modules/taxonomy/taxonomy.module下的function taxonomy_menu()

$items['admin/content/taxonomy/%taxonomy_vocabulary'] = array(
 'title' => 'List terms',
 'page callback' => 'drupal_get_form',
 'page arguments' => array('taxonomy_overview_terms', 3),
 'access arguments' => array('administer taxonomy'),                   //access arguments是权限控制项
 'type' => MENU_CALLBACK,
 'file' => 'taxonomy.admin.inc',
 );

drupal是怎么利用这个access arguments来进行菜单控制的呢?

二,模块_perm()函数

系统自带的每个.module文件里面都有一个模块名+_perm()这样的函数,并且本模块也没有直接调用,这个函数到底是干什么的呢,以taxonomy(分类模块)为例,来说明一下drupal/modules/taxonomy/taxonomy.module这个文件中

/**
 * Implementation of hook_perm().
 */
function taxonomy_perm() {                                                //权限控制函数
 return array('administer taxonomy');
}

这个函数够简单,表面上看他只是返回了一个数组,其实他还有其他作用(上面的’access arguments’ => array(‘administer taxonomy’)数组中的内容,必须是taxonomy_perm数组中的一条数据,不然权限管理不会启动作用的。)

权限选择

通过上面的选择我们可以控制用户的访问


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:drupal学习经验(后台权限管理)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址