1
我正在學習Symfony2,我喜歡它!
我一直在使用偉大的書和食譜,但我無法在任何地方找到我的問題的答案。
我正在使用另一個第三方登錄API,但響應速度有點慢,所以我想將已知用戶存儲在我自己的數據庫中以加快響應速度。
我設法創建了我自己的數據庫與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;
}
我會認爲,這將工作完美,但無法找到任何方式獲取密碼,用戶試圖登錄?
這是所有爲此目的正確的文件?