2017-12-06 2 views
-2

propel과 함께 Symfony 3.4를 설치했는데 정상적으로 작동합니다. 하나의 로그인 스크립트를 만들고 오류가 발생했습니다.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, 
     )); 
    } 

I는 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

안녕 재생 주셔서 감사합니다. 문제가 해결되었습니다 –