$this->loadComponent('Auth', [
'storage' => 'Memory',
它在内存中的保存意味着什么?那么在哪里?内存 ?我正在寻找并清楚地找到它。
答案 0 :(得分:1)
比较身份验证session storage class:
/**
* 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|\ArrayAccess $user User record.
* @return void
*/
public function write($user)
{
$this->_user = $user;
$this->_session->renew();
$this->_session->write($this->_config['key'], $user);
}
到身份验证memory storage class:
/**
* {@inheritDoc}
*/
public function read()
{
return $this->_user;
}
/**
* {@inheritDoc}
*/
public function write($user)
{
$this->_user = $user;
}
虽然会话存储类(可能是所有其他第三方实现)希望在某处查找/存储数据,但内存存储类只存储/检索来自它自己_user
的信息。属性。
因此,存储在内存存储类中的数据仅在(http)请求的生命周期内持续存在,下一个http请求将没有身份验证凭据,并且如果相关,将需要再次提供身份验证凭据。此类存储适用于无状态Auth系统,如indicated in the docs:
对于无状态身份验证器,应将存储配置设置为“内存”,以便AuthComponent不使用会话来存储用户记录。