Symfony 2.7-登录表单问题(500错误代码)


Symfony 2.7 - Login form issue (500 error code)

我已经完成了"如何构建传统登录表单"食谱中提到的所有步骤(几乎与他们的方法相同),但成功登录后的重定向并不能正常工作。

用户/通行证的验证很有魅力,但在点击提交按钮后,Chrome/Opera会抛出没有描述的错误500(这不是Symfony错误页面,而是默认的网络浏览器错误页面),在重新启动浏览器之前,我的任何应用程序页面(甚至是匿名用户可用的页面)都无法进入。浏览器很可能被迫处理一些无休止的请求循环或类似的事情。

源代码的关键片段:

Security.yml:

 (***) 
 firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main_area:
            anonymous: ~
            http_basic: ~
            provider: user_provider
            form_login:
              login_path: /login
              check_path: /login_check
              default_target_path: /index/welcome
#              target_path_parameter: /index/welcome
    access_control:
      - { path: ^/admin, roles: ROLE_ADMIN }
      - { path: ^/index/board, roles: ROLE_USER}
 (***) 

SecurityControler.php

(***)    
class SecurityController extends Controller
    {
        /**
         * @Route("/login", name="login_route")
         */
        public function loginAction()
        {
            $authUtils = $this->get('security.authentication_utils');
            $error = $authUtils->getLastAuthenticationError();
            $enteredUsername = $authUtils->getLastUsername();
            return $this->render('BakaMainBundle::Login.html.twig',
                array
                (
                    'last_username' => $enteredUsername,
                    'error' => $error,
                    'site' => 'login'
                ));
        }
        /**
         * @Route("/login_check", name="login_check")
         */
        public function loginCheckAction()
        {
        }
    }

UserReg.php(表单):

(***)
class UserReg extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('email','email')
            ->add('username', 'text')
            ->add('plainPassword', 'repeated', array
            (
                'type' => 'password',
                'first_options' => array('label'=>'Password'),
                'second_options' => array('label'=> 'Repeat password')
            ))
            ->add('termsAccept', 'checkbox', array
            (
                'mapped'=> false,
                'constraints' => new IsTrue()
            ));
    }
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array
        (
            'data_class' => 'Baka'MainBundle'Entity'User'
        ));
    }
    public function getName()
    {
        return 'user';
    }
}

我真的没有主意了,无论从哪个网站请求登录(甚至直接打开/login),结果都是一样的。有什么想法吗?

一种简单的方法来跟踪程序中的错误,使用日志,它使用

tail -f app/logs/dev.log

使用CCD_ 2查找"错误"字。

这使您能够准确地捕捉它发生的时刻,而不是随机浏览整个日志。