我正在使用cakephp v3。我已啓用身份驗證。假設我想讓一個名爲「XXX」的用戶在不使用密碼的情況下登錄。我在UsersController.php中有以下login()函數。如何修改它以允許名爲「XXX」的用戶無需輸入密碼即可登錄?允許某些用戶在不輸入密碼的情況下登錄cakephp
public function login()
{
if ($this->request->is('post')) {
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error(__('Invalid username or password, try again'));
}
} //public function login()
只需檢查發佈的用戶名是否爲'XXX',如果是,則從數據庫中取出用戶而不是Auth-> identify。如果蛋糕是明智的,那麼將用戶對象從DB ORM傳遞到Auth-> setUser也應該可以。免責聲明:從未使用過的蛋糕3 – JimL
老實說這是一個嚇人的愚蠢的想法,並打開一個安全漏洞。例如,運行一段時間的死簡單的字典攻擊*可能*發現此帳戶名稱,如果它不是像UUID那樣的字符串。如果這個特定的用戶懶惰地輸入密碼,我懷疑這很複雜。我會添加至少一個機制,在短時間內防止登錄嘗試並記錄它們。 – burzum
我同意你的意見。如果用戶堅持不顧警告(減去愚蠢的言論),則無法提供幫助。 – user781486