妖怪 / 安全扩展包
此包已废弃且不再维护。未建议替代包。
Symfony安全扩展功能
dev-master / 1.0.x-dev
2017-08-24 08:30 UTC
Requires
- php: >=7.0
- symfony/framework-bundle: ~2.8|~3.0
- symfony/security-bundle: ~2.8|~3.0
Requires (Dev)
- phpunit/phpunit: 5.*
- symfony/yaml: ~2.8|~3.0
This package is auto-updated.
Last update: 2024-01-04 15:01:53 UTC
README
安装
使用Composer将包作为依赖项添加
$ composer require yokai/security-extra-bundle:1.0-dev
在内核中启用包
<?php // app/AppKernel.php public function registerBundles() { $bundles = [ // ... new Yokai\SecurityExtraBundle\YokaiSecurityExtraBundle(), ]; }
配置
假设你处理名为 AppBundle\Entity\Article
的实体,并在其上执行基本的CRUD操作。
你可以想象你需要实现哪些检查来确保你的CRUD操作的安全性
- 如果你有
ROLE_ARTICLE_LIST
角色,则允许浏览帖子 - 如果你有
ROLE_ARTICLE_SHOW
角色,则允许显示帖子详情 - 如果你有
ROLE_ARTICLE_CREATE
角色,则允许创建新帖子 - 如果你有
ROLE_ARTICLE_UPDATE
角色且最初创建了此帖子,则允许更新现有帖子 - 如果你有
ROLE_ARTICLE_DELETE
角色且最初创建了此帖子,则允许删除现有帖子
好的,下面是如何配置它的方法
# app/config/config.yml yokai_security_extra: permissions: - attributes: 'browse' roles: ROLE_ARTICLE_LIST - attributes: 'details' subjects: AppBundle\Entity\Article roles: ROLE_ARTICLE_SHOW - attributes: 'create' roles: ROLE_ARTICLE_CREATE - attributes: 'update' subjects: AppBundle\Entity\Article roles: ROLE_ARTICLE_UPDATE callables: 'isOwnedBy' - attributes: 'delete' subjects: AppBundle\Entity\Article roles: ROLE_ARTICLE_DELETE callables: 'isOwnedBy'
注意 isOwnedBy
是在 AppBundle\Entity\Article
上可用的一种方法,可能看起来像
public function isOwnedBy(User $user) { return $this->author === $user; }
高级
待办事项
MIT许可证
许可证可以在 此处 找到。
作者
此包最初由 Yann Eugoné 创建。
查看贡献者列表。