'Auth.User' ]; /** * Constructor. * * @param \Cake\Network\Request $request Request instance. * @param array $config Configuration list. */ public function __construct(Request $request, array $config = []) { $this->_session = $request->session(); $this->config($config); } /** * Read user record from session. * * @return array|null User record if available else null. */ public function read() { if ($this->_user !== null) { return $this->_user ?: null; } $this->_user = $this->_session->read($this->_config['key']) ?: false; return $this->_user; } /** * Write user record to session. * * The session id is also renewed to help mitigate issues with session replays. * * @param array $user User record. * @return void */ public function write(array $user) { $this->_user = $user; $this->_session->renew(); $this->_session->write($this->_config['key'], $user); } /** * Delete user record from session. * * The session id is also renewed to help mitigate issues with session replays. * * @return void */ public function delete() { $this->_user = false; $this->_session->delete($this->_config['key']); $this->_session->renew(); } }