2016-09-14 4 views
0

Я пытаюсь использовать FOSUserBundle с Symfony 3.0.9.FOSUserBundle Могу ли я войти только один раз

После выполнения урока here Я смог зарегистрировать пользователя и войти с ним вчера. Проблема состояла в том, что я не мог войти сегодня утром с теми же учетными данными. После некоторых тестов я заметил, что войти в систему с пользователем невозможно, когда я закрыл окно.

Так что я должен удалить пользователя из базы данных и создать новый. Может кто-нибудь помочь мне решить эту проблему? Несомненно, пользователь должен иметь возможность входа в систему, выхода из системы и закрытия браслера без выхода из системы.

Мои SecurityController.php:

class SecurityController extends Controller 
{ 
    /** 
    * @Route("/login", name="login") 
    */ 
    public function loginAction(Request $request) 
    { 

     $authenticationUtils = $this->get('security.authentication_utils'); 

     // get the login error if there is one 
     $error = $authenticationUtils->getLastAuthenticationError(); 

     // last username entered by the user 
     $lastUsername = $authenticationUtils->getLastUsername(); 

     return $this->render(
      'security/login.html.twig', 
      array(
       // last username entered by the user 
       'last_username' => $lastUsername, 
       'error'   => $error, 
      ) 
     ); 
    } 
} 

security.yml:

# To get started with security, check out the documentation: 
# http://symfony.com/doc/current/book/security.html 
security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: bcrypt 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username 

    firewalls: 
     # disables authentication for assets and the profiler, adapt it according to your needs 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 

     main: 
      pattern: ^/ 
      form_login: 
       provider: fos_userbundle 
       csrf_token_generator: security.csrf.token_manager 

      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 } 

По крайней мере, мой объект пользователя в базе данных: enter image description here

ответ

0

Проблема, что сессия была установлена/register и мой/логин никогда не работал. Со стандартным входом FOSUser он работал без проблем.