В настоящее время после входа в систему Литий хранит в сеансе и файлы cookie все строки из таблицы пользователей, такие как пароль, хэш и т. Д. Как удалить (не разрешать хранить) некоторую информацию, такую как пароль и хэш?Литий все строки в файлах cookie, сеанс
ответ
В классе Session хранится то, что вы ему рассказываете! После завершения проверки Auth :: вы должны сохранить только идентификатор сеанса и/или абсолютно необходимые данные в файле cookie. Также не забудьте использовать шифрование, предоставляемое литиевым (AES), из коробки.
Для получения более подробной информации отправьте свой логин и все соответствующие модели/фильтры.
Попутный опции к Auth::check
получит передавалась к адаптеру, а также (плюс некоторые дополнительные) - для этого я предполагаю, что вы используете Form
адаптер для Auth
класса.
Попробуйте сделать это, когда вы выполняете чек: Auth::check('config', $data, array('fields' => array('fields', 'you', 'want'))
Ключевым моментом здесь является то, что массив мы лавировали на конце с fields
ключа в нем, это будет передаваться до Form
адаптер, который принимает в тех вариантах и использует их для запроса вашей модели для соответствующего пользователя. Говоря явным образом, какие поля возвращаются, они возвращают их обратно в класс Auth
для хранения.
С this commit вы можете передать опцию 'persist' => array('field1','..')
в Auth::check
или установить их по умолчанию в конфигурацию сеанса начальной загрузки, чтобы хранить только указанные поля.
Так как вы установили это в загрузчике/session.php
Auth::config(array(
'user' => array(
'adapter' => 'Form',
'session' => array(
'persist' => array('_id','username')
),
'model' => 'Users'
)
));
или определить поля, при вызове Auth::check()
- это перекроет все из приведенного выше конфигурации!
Auth::check('user', $this->request, array(
'persist' => array('username','email')
))
Примечание. Если не указано явно, пароль никогда не сохраняется по умолчанию.
Вы поняли, что проблема была решена? – joeb