0
我已經整合了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
我明明添加了捆綁到應用程序和內核創建了用戶實體。當我運行教條命令它成功地創建用戶表,等等...
我有這個在另一個項目中工作正常,唯一的區別是,這個項目我使用碼頭。這會導致問題嗎?
編輯: 這是我用它來檢查,如果用戶登錄的代碼:
if(!$this->container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')){
return $this->redirect($this->generateUrl('fos_user_security_login'));
}
而工具欄顯示我作爲匿名後的login_check重定向。
我們可以看到您使用的代碼「以檢查用戶登錄或不」?調試工具欄在重定向之後告訴你什麼?你還有你的用戶名顯示嗎? – Glukose
@Glukose我更新了我的答案。 – Christophe