myślę odpowiedź func0der jest dobra, ale może być ulepszona:
protected function renewLogin() {
if(!empty($this->Auth->user())) {
$this->loadModel('User');
$this->User->contain(false);
$user = $this->User->read(null, $this->Auth->user('id'))['User'];
unset($user['password']);
$this->Auth->login($user);
}
}
Można dodać do swojej AppController.php i używać go z dowolnego kontrolera po zmodyfikowaniu zalogowany użytkownik.
Uważam, że jest to o wiele czystsze i mimo że wiąże się z dostępem do bazy danych, myślę, że nie będzie on wykonywany wystarczająco często, aby stanowić problem.
Powinieneś ZAWSZE próbować robić rzeczy w stylu "Ciasto". I unikaj skrótów, takich jak edycja zmiennej sesji. Ułatwi ci to na dłuższą metę.
Proszę o komentarz i dodaj swoją opinie :)
Nie powinieneś próbować pracować z Komponentem Auth. Gdyby zmieniono klucze sesji, rozwiązanie natychmiast. – func0der
Down-vote, ponieważ prawidłowy sposób to zrobić za pomocą czegoś takiego: '$ this-> Auth-> login ($ newUserData); Patrz odpowiedź func0der. –
To jest coś takiego jak Znowu trzeba uwierzytelnić użytkownika, już użytkownik jest zalogowany Tak jest to zalecany sposób proszę dać mi znać @deceze [~ deceze] – AnNaMaLaI