2016-10-28 155 views
0

我要登录我的网页关于symfony文档的例子,我有一个小问题。这是工作,但我清除缓存后第二次工作。在第一次,我发现您的会话超时错误或您禁用cookie。Symfony简单登录

它base.html.twig

{% if is_granted('ROLE_USER') %} 

     <div class="content"> 
      <div class="starter-template"> 
       {% block body %}{% endblock %} 
      </div> 
     </div> 

    {% else %} 

     <div class="container"> 
      <div class="row"> 
       <div class="col-md-offset-5 col-md-3"> 
        <div class="form-login"> 
         <h4>Welcome back.</h4> 
         <form action="{{ path('login') }}" method="post"> 
          <input type="text" name="_username" id="userName" class="form-control input-sm chat-input" placeholder="username" /> 
          </br> 
          <input type="password" name="_password" id="userPassword" class="form-control input-sm chat-input" placeholder="password" /> 
          </br> 
          <div class="wrapper"> 
         <span class="group-btn"> 

          <button type="submit" href="#" class="btn btn-primary btn-md">login <i class="fa fa-sign-in"></i></button> 
         </span> 
          </div> 
         </form> 
        </div> 

       </div> 
      </div> 
     </div> 

    {% endif %} 

和登录操作:

/** 
* @Route("/login", name="login") 
*/ 
public function loginAction(Request $request) 
{ 
    $authenticationUtils = $this->get('security.authentication_utils'); 

    $error = $authenticationUtils->getLastAuthenticationError(); 

    $lastUsername = $authenticationUtils->getLastUsername(); 

    return $this->render('security/login.html.twig', array(
     'last_username' => $lastUsername, 
     'error'   => $error, 
    )); 
} 

我尝试返回重定向在这个动作,但没有帮助我。

如果登录在/登录页面,它的工作okey。但我想用base.html

+0

你使用奏鸣曲管理包吗? –

+0

不,它是来自http://symfony.com/doc/current/security/form_login_setup.html的登录示例,它在另一个项目中工作,当我在登录页面中使用登录并在登录后重定向时,但现在我发送登录数据/从主页登录 –

回答

2

如何在建设模式尝试工作。 1)web目录转到 2)打开app.php文件 3)内app.php代码更改为

$kernel = new AppKernel('dev', true); 

$response = $kernel->handle($request); 
$response->send(); 

$kernel->terminate($request, $response); 

从控制器中删除

/** 
* @Route("/login", name="login") 
*/ 

最后尝试在路由文件移动路线。 例如在routing.yml中:

login: 
    path: /login 
    defaults: { _controller: YourNameBundle:NameYourController:login } 
+0

谢谢,但它并没有帮助我 –

+0

第二次工作后 –

+0

请打勾我的正确答案。 –