2
哪裏是插入代碼以保存用戶上次登錄的最佳位置?我幾乎在手冊的標準實現中使用了CakePHP Auth登錄系統。CakePHP - 驗證以保存用戶上次登錄時間
我在哪裏可以插入代碼,以便在登錄後Auth重定向之前將其保存到用戶記錄中?
哪裏是插入代碼以保存用戶上次登錄的最佳位置?我幾乎在手冊的標準實現中使用了CakePHP Auth登錄系統。CakePHP - 驗證以保存用戶上次登錄時間
我在哪裏可以插入代碼,以便在登錄後Auth重定向之前將其保存到用戶記錄中?
你需要禁用AuthComponent::autoRedirect
如果您在UsersController::login()
方法希望對要執行的代碼:
public $components = array(
'Auth' => array(
// ...
'autoRedirect' => false,
),
);
然後就可以做到這一點在你的登錄操作,但你仍然需要手工執行重定向:
public function login() {
if ($this->Auth->user()) { // check user is logged in
$this->User->id = $this->Auth->user('id'); // target correct record
$this->User->saveField('last_login', date(DATE_ATOM)); // save login time
$this->redirect($this->Auth->redirect()); // redirect to default place
}
}
據我所知,登錄本身仍然由組件執行。在我的網站的'UsersController :: login()'方法中,在設置'last_login'值之前,我檢查嘗試的登錄和非空'$ this-> Auth-> user()'。我唯一一次顯式調用'$ this-> Auth-> login()'是在成功註冊之後並且在動態更新授權用戶數據之後。 –
啊,你是正確的,我已經更新了我的答案。 – deizel