Laravel: 如何在没有数据库的情况下对用户进行身份验证

9 浏览
0 Comments

Laravel: 如何在没有数据库的情况下对用户进行身份验证

正如标题所示,是否可以在没有数据库的情况下进行身份验证(而是使用用户提供程序)?

我看到过一些关于如何在没有密码的情况下进行身份验证的帖子,但是是否可能在没有数据库的情况下进行身份验证呢?

以下是我一直在努力实现的内容...

  1. 要求用户提交PIN码
  2. 将PIN码与.env中的值进行比较
  3. 如果PIN码正确,则对用户进行身份验证

似乎可以通过引入用户提供程序来实现不使用传统关系型数据库进行身份验证,但是文档似乎没有描述用户提供程序的样子。

以下是我代码的片段(我只是简单地模仿了文档)...

class AuthServiceProvider extends ServiceProvider {
    public function boot()
    {
        $this->registerPolicies();
        Auth::provider('myUser', function ($app, array $config) {
            // 返回一个 Illuminate\Contracts\Auth\UserProvider 实例...
            return new MyUserProvider($app->make('myUser'));
        });
    }
}

auth.php中...

'providers' => [
    'users' => [
        'driver' => 'myUser',
    ],
],

现在,我不知道如何继续了。

所以,我想知道...

  1. user provider应该是什么样的
  2. 是否首先可以使用env()来验证用户

任何建议将不胜感激。

0