-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을"로드 시도했습니다.이 문제를 해결할 수 있도록 도와주세요.
감사
재생 해 주셔서 감사합니다. 위의 변경 사항을 추가 했으므로 오류가 발생하지 않습니다. 존재하지 않는 서비스 "security.context"를 요청했습니다. 이것을 의미 했습니까? "security.context_listener.0"? 이 문제를 해결하는 데 도움주세요. –
즉,이 문제가 해결되었다는 의미입니까? 이제 스스로 알아야 할 또 다른 문제가 있습니다. 질문하기 전에 연구 노력을 보여주십시오. –
안녕 재생 주셔서 감사합니다. 문제가 해결되었습니다 –