Ответы пользователя по тегу Symfony
  • Каким образом можно сделать валидацию данных формы для логина используя Security Bundle?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Склоняюсь ко второму варианту, но без failure_handler
    С точки зрения пользователя форма была отправлена и неважно был запрос к базе или нет.
    // src/Acme/SecurityBundle/Controller/Main;
    namespace Acme\SecurityBundle\Controller;
    
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\Security\Core\SecurityContext;
    
    class SecurityController extends Controller
    {
        public function loginAction()
        {
            $request = $this->getRequest();
            $session = $request->getSession();
    
            // get the login error if there is one
            if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
                $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
            } else {
                $error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
                $session->remove(SecurityContext::AUTHENTICATION_ERROR);
            }
    
            if ($error && !filter_var(SecurityContext::LAST_USERNAME, FILTER_VALIDATE_EMAIL)) {
                $error = new \Exception('Invalid e-mail');
            }
    
            return $this->render('AcmeSecurityBundle:Security:login.html.twig', array(
                // last username entered by the user
                'last_username' => $session->get(SecurityContext::LAST_USERNAME),
                'error'         => $error,
            ));
        }
    }
    


    плюс проверка на стороне пользователя
    Ответ написан
  • Создание бандла в symfony2

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Что выдает route:debug?
    Подозреваю там что-то вроде //helo/{name}.
    Надо «prefix: /» убрать.
    Ответ написан
    4 комментария