모달 로그인을 시도하고 있는데 사용자가 올바른 이메일 & 암호를 입력 한 후에는 로그온 한 사용자의 ID를 가져와야합니다 (모달은 아직 열리지 만, 페이지). 데이터베이스의 사용자 테이블에있는 ID입니다.Symfony3 인증 후 보안 토큰을 얻습니다.
일반적으로, 나는 다음 행 ID를 얻을 : 모달 상황에서
$this->get('security.token_storage')->getToken()->getUser()->getId();
을, 나는 인 LoginController 및 컨트롤러 내부의 양식을 보내고 난이 :
/** @var AuthenticationUtils $authenticationUtils */
$authenticationUtils = $this->get('security.authentication_utils');
$error = $authenticationUtils->getLastAuthenticationError();
나는 경우, 잘못된 자격 증명을 입력하면 올바르게 표시됩니다. 잘못된 자격증 명 올바른 자격 증명을 입력하면 var_dump ($ error)를 수행하면 NULL이됩니다.
내가 할 경우 $ error = $ authenticationUtils-> getLastAuthenticationError() -> getToken();
null 객체에 getToken을 적용하려고하면 오류가 발생합니다.
나는이 작업을 수행하려고하면
:/** @var Accounts $account */
$account = $this->get('security.token_storage')->getToken()->getUser();
var_dump($account);
나는 같은 오류가 발생합니다. 페이지를 새로 고치면 로그인되어 있습니다.
범위는 $ account 개체를 얻는 것입니다.
페이지를 새로 고치지 않고 어떻게 사용자 (엔티티)를 얻을 수 있습니까? 동일한 컨트롤러에서 $ authenticationUtils-> getLastAuthenticationError() 바로 뒤에?
감사합니다,
가 수동으로 사용자 인증을 수행하는 방법이 문서에서는 설명? 또는 표준'check_path' 경로를 사용 했습니까? – yceruto
두 가지를 시도했지만 check_path 경로에서만 심판이 올바르게 작성되었습니다. 다른 경로는 보안 토큰을 생성하지 않습니다. – TeoM