FOSユーザーバンドルは、クイックガイドの指示どおりに統合されています。私はログインしてリダイレクトすると何らかの理由でセッションが失われ、私は匿名ユーザーに戻ります。FOSユーザーバンドルはログに記録されたセッションを維持しません
これは私が戻ってリダイレクトするよ前に私がログインしたときに、私が得るものです:
をあなたは私が正常にログインしていますし、ホームページにリダイレクトする必要があります見ることができるように。しかし、私がホームページにいるとき、私はユーザがログインしているかどうかをチェックするので、私はログインにリダイレクトされます。だから、何とかそれは私がログインしていることを覚えていません。
これはのsecurity.xml
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
check_path: /login_check
login_path: /login
provider: fos_userbundle
default_target_path:/
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 }
config.yml
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: UserBundle\Entity\User
のための私の構成である私は明らかにアプリのカーネルにバンドルを追加し、ユーザーエンティティを作成しました。 doctrineコマンドを実行すると、ユーザーテーブルなどが正常に作成されます。
このプロジェクトは別のプロジェクトでうまく動作していますが、このプロジェクトではドッカーを使用しています。これは問題を引き起こすでしょうか?
編集:
if(!$this->container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')){
return $this->redirect($this->generateUrl('fos_user_security_login'));
}
とツールバーがlogin_checkリダイレクト後に匿名として私を示しています これは、私は、ユーザーがログインしているかどうかを確認するために使用するコードです。
に
save_path
値を変更しましたか?また、デバッグツールバーはリダイレクト後にあなたに何を伝えますか?あなたのユーザー名はまだ表示されていますか? – Glukose@Glukose私は自分の答えを更新しました。 – Christophe