php - 基于动态角色和权限的 Symfony 复杂 acl

标签 php symfony registration acl roles

我想建立一个有多个用户的系统,每个用户可以分配 0 到项目或项目部分(对象)的许多角色。每个角色可以拥有 1 到多个权限。 角色可以动态创建,因此可以将它们分配给用户。 但是,可以对权限进行硬编码。

我知道我应该使用 ACL,但是我不确定如何在 Symfony2 中添加动态角色。此外,我应该使用选民吗?

最佳答案

希望下面的代码对你有帮助

// creating the ACL
$aclProvider = $this->get('security.acl.provider');
$objectIdentity = ObjectIdentity::fromDomainObject($the_object_to_be_granted);
$acl = $aclProvider->createAcl($objectIdentity);

$securityIdentity = new RoleSecurityIdentity("CUSTOM_ROLE_YOU_HAVE");

// grant owner access
$acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);// This is sample you can use any other masks you need
$aclProvider->updateAcl($acl);

您可以通过以下链接(Symfony ACL)获取更多信息

关于php - 基于动态角色和权限的 Symfony 复杂 acl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22431499/

相关文章:

php - 发布变量错误

php - PHP服务器上的Apple推送通知问题

doctrine-orm - 如何从实体获取存储库?

mysql - 尝试将 sql 脚本导入现有数据库会生成错误

mysql - 使用facebook注册插件将facebook显示的用户图片存储到mysql表中

Android Firebase - 使用个人资料照片进行用户注册

ruby-on-rails - Rails Devise 将注册表单独编辑为两种形式

php - 在 PHP 中将 CSV 文件导入 Mysql 数据库

php - 更改 jquery 成功函数的图像?

php - Symfony路由ajax get方法