Eloquent - 登录并保持用户登录| laravel 5.4

时间:2017-05-18 19:21:09

标签: laravel authentication login eloquent

如何在不使用Auth外观的情况下让用户登录? 我设法检查匹配的凭据,但我不知道如何保持用户登录..我只是设置一个会话条目与登录用户的ID?

以下是处理凭据检查的功能

ActiveFrom - 1 second

请原谅我这个愚蠢的问题,我对网站身份验证并不陌生。我只是放置一个会话条目,其中包含已登录用户的ID,但这似乎太危险了,因为我担心会有人破解会话/ cookie ID ..

2 个答案:

答案 0 :(得分:1)

我认为您在不使用Laravel attempt()方法的情况下询问如何对用户进行身份验证。您可以手动登录用户:

Auth::login($user, true);
  

如果您需要将现有用户实例记录到您的应用程序中,您可以使用用户实例调用login方法。

https://laravel.com/docs/5.4/authentication#other-authentication-methods

但保留未加密的密码是一个糟糕的主意。避免这种情况。

答案 1 :(得分:1)

在表格迁移中添加此内容

$table->rememberToken();

然后在模型中添加

use Illuminate\Foundation\Auth\User as Authenticatable;

class PushUser extends Authenticatable {

这将添加一个remember_token字符串字段,laravel用于记住登录用户。然后在postLogin方法中执行此操作

\Auth::login($pushUser, true);

编辑auth.php配置文件以更改默认用户模型。

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\PushUser::class,
    ],