Symfony2를 배우고 있습니다.
위대한 책과 요리 책을 사용했지만 어디서나 내 질문에 대한 답을 찾을 수 없습니다.
타사 로그인 API를 사용하고 있지만 응답 속도가 약간 느리기 때문에 빠른 응답 시간을 위해 알려진 사용자를 내 DB에 저장하고 싶습니다.
entity provider으로 데이터베이스를 직접 만들었습니다.
이제 로그인이 실패하면 Symfony가 내 다른 서비스와 로그인을 시도하고 싶습니다.Symfony2의 다른 서비스에서 다시 로그인하지 못했습니다.
여기가 새로운 코드를 삽입하는 것이 논리적 인 부분입니다.
public function loadUserByUsername($username) {
$q = $this
->createQueryBuilder('u')
->where('u.username = :username')
->setParameter('username', $username)
->getQuery();
try {
$user = $q->getSingleResult();
} catch (NoResultException $e) {
// Try login to other service before failing
$login = $APIHelper->login($username, $password);
if ($login) {
// Make sure the user is persisted to database
...
// Return the user
return $login->getUser();
}
else {
$message = sprintf(
'Unable to find user SHSnaphackBundle:User object identified by "%s".', $username
);
throw new UsernameNotFoundException($message, 0, $e);
}
}
return $user;
}
나는 완벽하게 작동하지만 암호를 얻는 방법을 찾을 수 없다고 생각합니다. 사용자가 로그인을 시도 했습니까?
그리고이 목적에 맞는 파일입니까?