2017-12-06 7 views
-2

私はpropelでSymfony 3.4をセットアップしていますが、うまくいきます。 1つのログインスクリプトを作成してエラーが発生しました。symfony 3.4 + Propel +認証エラー

public function loginAction(Request $request) 
    {  
     $session = $request->getSession(); 

     $authUtils = $this->get('security.authentication_utils'); 
     $error = $authUtils->getLastAuthenticationError();  
     $lastUsername = $authUtils->getLastUsername(); 

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

私は上記のloginActionメソッドを作成しています。チェックイン用に、以下のメソッドを作成しました。

public function logincheckAction(Request $request) 
    {   
     $email = $request->request->get('_username'); 
     $password = $request->request->get('_password'); 

     $person = PersonQuery::create()->filterByEmail($email)->findOne(); 

     if (!$person) 
     { 
      $this->get('session')->getFlashBag()->add('error',$email.' email id not found..!'); 
      return $this->redirect($this->generateUrl('person_login')); 
     }   

     $salt = $person->getSalt(); 

     if(sha1($salt.$password) == $person->getPassword()) 
     { 
      $this->get('session')->set('personId',$person->getPersonId());   

      $token = new UsernamePasswordToken($person->getFirstName(), null, 'main', array('ROLE_ADMIN'));      

      $this->get('security.context')->setToken($token); 

      return $this->redirect($this->generateUrl('help_releasenote_list'));   
     } 
     else 
     { 
     $this->get('session')->getFlashBag()->add('error','Email id or Password not match..!'); 
     return $this->redirect($this->generateUrl('person_login'));   
     } 
    } 

**** ERROR:**

は、名前空間 "セキュリティ\ PersonBundle \コントローラ" からクラス "UsernamePasswordToken" をロードしようとしました。

この問題の修正にご協力ください。

おかげ

答えて

0

はあなたのSecurity\PersonBundle\Controllerクラスのトップに

use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; 

を追加します。

+0

再生いただきありがとうございます。私は上記の変更を追加して、以下のエラーにはなりません。 存在しないサービス "security.context"を要求しました。あなたはこれを意味しましたか: "security.context_listener.0"? この問題の修正にご協力ください。 –

+0

これは、この問題が解決されたことを意味しますか?今自分で見つけなければならない別の問題があります。尋ねる前に研究努力をしてください。 –

+0

こんにちは 再生いただきありがとうございます。問題は修正されました –