没有remember_token的Laravel 5身份验证

Wil*_*lem 6 php laravel laravel-5

我正在使用现有的数据库,我不允许修改表,因此添加remember_token不是一个选项,但没有它我无法登录.当我尝试登录Laravel时,检查凭据并返回它们是否与记录匹配,但它只刷新页面.我很确定remember_token是我之前遇到过这个问题的原因,但这次我不能在我的users表中添加一列.

有没有一种方法可以在没有remember_token的情况下使用开箱即用的身份验证?

Aut*_*a_z 9

在您的用户模型中添加:

  /**
   * Overrides the method to ignore the remember token.
   */
  public function setAttribute($key, $value)
  {
    $isRememberTokenAttribute = $key == $this->getRememberTokenName();
    if (!$isRememberTokenAttribute)
    {
      parent::setAttribute($key, $value);
    }
  }
Run Code Online (Sandbox Code Playgroud)

致谢:https://laravel.io/forum/05-21-2014-how-to-disable-remember-token


Rol*_*rke 7

从Laravel v5.3.27开始,您还可以通过在用户模型中将设置为$rememberTokenName来禁用“记住我”功能false

class User extends Authenticatable
{
    use Notifiable;


    protected $rememberTokenName = false;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

来源:这次提交