evilband7 / rbac-user-doctrine-orm
一个集成 zfc-rbac 和 zfc-user 的模块
Requires
- php: ~7.0 || ~5.6
- doctrine/doctrine-module: ~1.0 || dev-master
- doctrine/doctrine-orm-module: ~1.0 || dev-master
- zendframework/zend-servicemanager: ~3.0 || ~2.7
- zf-commons/zfc-rbac: ~2.5 || dev-master
- zf-commons/zfc-user: ~1.0 || ~2.0 || 2.x-dev
Suggests
- zf-commons/zfc-user-doctrine-orm: RbacUserDoctrineOrm require ZfcUserDoctrineOrm but we didn't provide in depencency because it's not support ZF3 yet. btw you can install it manually.
This package is not auto-updated.
Last update: 2024-09-23 12:56:03 UTC
README
ZF 模块,它将 ZfcUserDoctrineOrm 与 ZfcRbac 集成。受 https://github.com/esserj/RbacUserDoctrineOrm 启发
依赖关系
- PHP >= 5.6
- Zend Framework 3 或 >= 2.7
- ZfcUser
- ZfcUserDoctrineOrm
- DoctrineModule
- DoctrineORMModule
- ZfcRbac
安装
使用 composer 安装 RbacUserDoctrineOrm 模块
{
...,
"require": {
...,
"evilband7/rbac-user-doctrine-orm" : "~0.1 || dev-master"
}
}
ps. 如果您使用 ZF2,请将 zf-commons/zfc-user-doctrine-orm 添加到您的 composer 依赖项中。对于 ZF3,请手动安装 ZfcUserDoctrineOrm,将模块克隆到您的项目中。
对于 ZF3 项目,您的 composer 应该如下所示。
{
...,
"require": {
...,
"zendframework/zend-mvc" : "~3.0",
"zendframework/zend-servicemanager" : "~3.0",
"zendframework/zend-eventmanager" : "~3.0",
"zendframework/zend-router" : "~3.0",
"zf-commons/zfc-rbac" : "~2.5 || dev-master",
"zf-commons/zfc-user" : "~2.0 || 2.x-dev",
"doctrine/doctrine-module" : "~1.0 || dev-master",
"doctrine/doctrine-orm-module" : "~1.0 || dev-master",
"evilband7/rbac-user-doctrine-orm" : "~0.1 || dev-master"
}
}
然后,在 config/application/application.config.php
中设置您的模块,如下所示
'modules' => array(
'DoctrineModule',
'DoctrineORMModule',
'ZfcBase',
'ZfcUser',
'ZfcUserDoctrineORM',
'RbacUserDoctrineOrm',
'Application',
),
现在,您可以使用 doctrine-module
来设置您的数据库表(首先配置您的连接 Doctrine 连接设置)。
vendor/bin/doctrine-module orm:schema-tool:update --dump-sql
如果 SQL 查看正常,执行
vendor/bin/doctrine-module orm:schema-tool:update --force
角色
RbacUserDoctrineOrm 提供了两种角色的来源。
-
dbRoles
字段,这是一个层次结构角色。您可以在数据库表( auth_user, auth_role, auth_permission, auth_users_roles and auth_roles_permissions )
中定义 dbRoles -
providerRoles
字段,它在auth_user.provider_roles
列中逗号分隔。除非您提供自己的 RoleProvder,否则来自此源的角色将不起作用
自定义用户实体
首先,将 config/rbac-user-doctrine.global.php.dist 复制到 autoload 文件夹中。(不要忘记删除 .dist)然后自定义您的实体类名称
return [
'rbac-user-doctrine-orm' => [
'enable_default_user_entity' => false,
],
'zfcuser' => [
'userEntityClass' => 'YourUserEntityClass' //TODO
],
];
并且您的用户类必须扩展 RbacUserDoctrineOrm\Domain\AbstractRbacUser
TODO
- 需要在依赖模块的不同版本上进行更多测试
- 更多文档
- 将很快发布 0.x 版本。
作者
Siwapun Siwaporn 先生 map.siwapun@gmail.com
随时提问或向我建议。 :)