我以为我终于能够使用Symfony 2正确管理登录了。但是当我在登录后重定向到另一个页面时,System Profiler会回复用户已登录但未经过身份验证的角色:{{ 1}}。
但是,如果我回到登录页面,我正确地说用户已登录,经过身份验证并具有以下角色:ROLE_USER
我希望这是一个愚蠢的错误,因为我最近开始使用Symfony。 希望有人已经遇到过这个问题?任何人都可以帮助我吗?
修改1 : 这是我的security.yml
ROLE_USER
答案 0 :(得分:0)
尝试:
jms_security_extra:
secure_all_services: false
expressions: true
security:
encoders:
Wearplay\UserBundle\Entity\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: ROLE_USER
providers:
user:
entity: { class: WearplayUserBundle:User }
firewalls:
login_firewall:
pattern: ^/login$
anonymous: ~
main_firewall:
pattern: ^/
provider: user
form_login:
check_path: /login_check
login_path: /login
default_target_path: /home
remember_me:
key: "%secret%"
lifetime: 2232000
path: /
domain: ~
logout:
path: /logout
target: /home
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: http }
- { path: ^/, roles: ROLE_USER, requires_channel:https }