@brud
специально для самых нежных и трепетных

Что делать, если не работает пример логина из документации по Symfony3?

Читаю раздел секьюрити, и делаю все по нему - с http_basic формой все работает, но с формой - нет, причем ни ошибок, ничего - редиректит обратно на пустую форму, и пишет, что у меня анонимный токен, пробовал заходить и под юзером и под админом...

UPD.: так же пробовал скопировать код секьюрити контроллера из fosuserbundle - то же самое.

UPD.: в логах пишет
Symfony\\Component\\Security\\Core\\Exception\\AuthenticationCredentialsNotFoundException(code: 0): A Token was not found in the TokenStorage


//routing.yml
login:
    path:     /login
    defaults: { _controller: AppBundle:Security:login }

logout:
    path: /logout

homepage:
    path: /
    defaults:  { _controller: AppBundle:Default:index }


//security.yml
security:

    encoders:
        Symfony\Component\Security\Core\User\User:
            algorithm: bcrypt
            cost: 12

    providers:
#        db_user_provider:
#            entity:
#                class: "AppBundle:Manager"
        in_memory:
            memory:
                users:
                    ryan:
                        password: $2y$12$1jsx3GlGNP/qKZCFd58KUevrBnVUOLJa6k/2zDI.3YaOVGXvoxhFm
                        roles: 'ROLE_USER'
                    admin:
                        password: $2y$12$GRIwEY47GJ9w4LSqoR4zmuiYTWecWWAM7gKzvblPB3itQ.0rMAH.m
                        roles: 'ROLE_ADMIN'


    firewalls:
        login_firewall:
            pattern:   ^/login$
            anonymous: ~

        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            pattern:    ^/
            #provider: db_user_provider
            #http_basic: ~
            logout:
                path:   /logout
                target: login
            form_login:
                default_target_path: /
                login_path: login
                check_path: login


class SecurityController extends Controller
{
    public function loginAction()
    {
        $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,
            )
        );
    }
}
  • Вопрос задан
  • 596 просмотров
Пригласить эксперта
Ответы на вопрос 1
slimus
@slimus
Symfony, Golang
Кеш чистили?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы