创建权限并在模块安装时为其设置角色

Posted

技术标签:

【中文标题】创建权限并在模块安装时为其设置角色【英文标题】:Create a permission AND set a role to it on module install 【发布时间】:2013-04-12 13:24:48 【问题描述】:

我已经找了大约一个小时了,要么我找不到,要么没人问这个问题——我觉得这很奇怪。

我希望我的模块在安装时创建一个新角色、创建新权限并将特定角色分配给新权限。我似乎正在挂断的是最后一部分。

我意识到,按照惯例,权限是在 hook_permissions() 中设置的,并且我假设我的网站行为在创建这些权限之前调用了 hook_install()(这很有意义。)所以,我的问题更多可能只是:

有没有办法在 hook_install()/hook_permissions() 之外创建权限?我似乎找不到任何这样的例子,或者在模块安装之前不存在的设置权限的任何例子。

【问题讨论】:

【参考方案1】:

功能模块可以为您解决这个问题,因为您可以导出分配给这些角色的角色和权限。

实际创建具有权限的角色是在启用模块时而不是在安装模块时发生的,这实际上是同一件事。功能还允许您导出许多其他内容,并且是一个非常方便的模块。

【讨论】:

好吧,那我可以在 hook_enable 上进行权限分配吗?还是现在还为时过早。 @SlakeFistcrunch 我相信这是可能的,但我还没有尝试过。

以上是关于创建权限并在模块安装时为其设置角色的主要内容,如果未能解决你的问题,请参考以下文章

创建表的副本并在创建时为其提供约束

MySQL的安全设置

049医疗项目-模块五:权限设置

WINFORM权限系统开发系列教程角色管理模块

人员角色权限

049医疗项目-模块五:权限设置-第三方系统的接入