首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Framework 2,支持zfc-rbac数据库填充

Zend Framework 2,支持zfc-rbac数据库填充
EN

Stack Overflow用户
提问于 2013-03-30 19:59:28
回答 2查看 3.1K关注 0票数 19

有许多关于如何在Zend Framework2中实现zfc-user和zfc-rbac的入门教程。zfc-user和zfc-rbac (https://github.com/ZF-Commons)的github页面很清楚,实现起来也非常简单(正如许多教程中所述)。我还找到了zfc-user和zfc-rbac都需要的SQL方案(/vendor/zf-commons/zfc-user/rbac/data/)。

在数据库中创建用户很容易,因为zfc-user已经为您设置好了(http://example.com/user)。到目前为止一切都很好。现在我想填充角色,但我不清楚如何正确填充rbac表。关于这方面的信息的缺乏让我感到惊讶,因为zfc-rbac组件是Zend Framework的一个流行模块。

我知道基于角色的访问控制的原理和权限表的填充以及将权限和角色联系在一起的表是清楚的,但我不清楚的是角色表。我知道你可以有一个有父角色的角色,但是不清楚如何用父角色来填充表,因为有一个外键约束,它规定'parent_role_id‘必须是' role _id’。

下面是角色表的SQL (这是zfc-rbac提供的SQL ):

代码语言:javascript
复制
CREATE TABLE `rbac_role` (
  `role_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `parent_role_id` int(11) unsigned NOT NULL,
  `role_name` varchar(32) NULL,
  PRIMARY KEY (`role_id`),
  KEY `parent_role_id` (`parent_role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `rbac_role`
  ADD CONSTRAINT `rbac_role_ibfk_1` FOREIGN KEY (`parent_role_id`) REFERENCES `rbac_role` (`role_id`);

有了外键,添加父角色似乎是不可能的?

代码语言:javascript
复制
INSERT INTO `rbac_role` (parent_role_id, role_name) VALUES (NULL, 'admin');

基本上我的问题是(我觉得问这个问题很愚蠢),但是父角色的插入看起来是什么样子呢?如果我提供的insert语句实际上是正确的,那么在插入父角色之前,我是否总是需要删除外键?

EN

回答 2

Stack Overflow用户

发布于 2013-05-26 00:46:20

将create table更改为以下内容:

代码语言:javascript
复制
CREATE TABLE `rbac_role` (
    `role_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `parent_role_id` int(11) unsigned NULL,
    `role_name` varchar(32) NULL,
    PRIMARY KEY (`role_id`),
    KEY `parent_role_id` (`parent_role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

请注意,parent_role_id是NULL而不是NOT NULL。如果parent_role_id不为NULL,那么这意味着它必须有一个父行,但是由于外键引用指向同一个表,因此无法插入父行!

票数 1
EN

Stack Overflow用户

发布于 2013-06-19 14:04:09

仅供参考:此问题已修复。版本0.2.0的zfc-rbac将允许空值作为parent_role_id

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15718280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档