【发布时间】:2017-05-04 20:39:54
【问题描述】:
我正在使用 Symfony 3.2 和 fos 用户捆绑包 2.0 我使用经典设置:“FOSUserBundle 入门”
security:
always_authenticate_before_granting: true
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_CLIENT
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4
logout: true
anonymous: ~
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 }
- { path: ^/client, role: ROLE_CLIENT }
它可以工作,但有些奇怪: 当我注销并导航到公共页面时,它会显示为我始终登录 我需要在浏览器中手动重新加载页面以使注销生效。 (我在模板中使用 {% if is_granted('ROLE_ADMIN') %} ) 是我的安全配置有问题还是缓存有问题? 一些帮助将不胜感激 谢谢 文森特
【问题讨论】:
标签: symfony fosuserbundle