kapilpatel20 / bvrolepermission
基于角色的权限管理,与 fos userbundle 结合使用
Requires
- friendsofsymfony/user-bundle: ~2.0@dev
This package is not auto-updated.
Last update: 2024-09-23 12:41:07 UTC
README
基于 fos userbundle 的角色权限管理
安装步骤
-
在 composer.json 文件下的 "require" 部分,添加 "friendsofsymfony/user-bundle": "~2.0@dev"
-
使用 composer require kapilpatel20/bvrolepermission 注册 bundle 到 AppKernel.php
new FOS\UserBundle\FOSUserBundle(), new BvRoleBundle\BvRoleBundle()
-
打开你的项目目录下的 app/config/config.yml 文件,将以下代码添加到该文件中
fos_user: db_driver: orm # 其他有效值包括 'mongodb', 'couchdb' 和 'propel' firewall_name: main user_class: BvRoleBundle\Entity\User firewall_name: main group: group_class: BvRoleBundle\Entity\Group
-
打开你的项目目录下的 app/config/routing.yml 文件,将以下代码添加到该文件中
bv_role: resource: "@BvRoleBundle/Resources/config/routing.yml" prefix: /
-
打开你的项目目录下的 app/config/security.yml 文件,更新你的代码如下
security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN
providers: fos_userbundle: id: fos_user.user_provider.username
firewalls: main: pattern: ^/ form_login: provider: fos_userbundle #csrf_token_generator: security.csrf.token_manager # 如果你使用的是 Symfony < 2.8,则使用以下配置代替: success_handler: login_success_handler csrf_provider: form.csrf_provider
logout: true anonymous: true
access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/, role: ROLE_ADMIN }
-
打开你的项目目录下的 app/config/services.yml 文件,更新你的代码如下
services: fos_user.doctrine_registry: alias: doctrine
-
生成表格
php app/console doctrine:schema:update --dump-sql php app/console doctrine:schema:update --force
完成!现在你可以通过浏览器查看此 bundle 的效果。打开浏览器并访问