Php Symfony FosUserBundle访问控制安全管理员登录
这是我的安全文件Php Symfony FosUserBundle访问控制安全管理员登录,php,symfony,fosuserbundle,php-5.5,Php,Symfony,Fosuserbundle,Php 5.5,这是我的安全文件 # app/config/security.yml security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_CONDIDAT: ROLE_VISITEUR ROLE_RECRUTEUR: ROLE_CONDIDAT ROLE_ADMIN : ROLE
# app/config/security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_CONDIDAT: ROLE_VISITEUR
ROLE_RECRUTEUR: ROLE_CONDIDAT
ROLE_ADMIN : ROLE_RECRUTEUR
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
login_path: fos_user_security_login
check_path: fos_user_security_check
# if you are using Symfony < 2.8, use the following config instead:
# 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 }
我的问题是当我键入:
localhost/project/admin
我想显示连接到管理后台的登录表单
但没有显示它直接连接到管理员
我与fosUserBundle合作最终我发现了问题:
问题是我正在使用jms_i18n_路由包进行翻译和国际化
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/%locale%/admin, roles: ROLE_ADMIN }
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/%locale%/admin, roles: ROLE_ADMIN }