默认情况下,Laravel创建模型和用户表。问题是,我在数据库中创建和使用表、一个模型和一个名为Citizen的控制器。我对此表示怀疑,当我们配置laravel-passport时,我们必须指定守卫,这是Laravel的例子:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],提供者是什么?考虑到这一项:
'provider' => 'users',我应该使用'provider' => 'citizen'而不是'provider' => 'users'吗?
发布于 2022-10-08 16:24:23
您可以创建自定义提供程序。这必须在config/auth.php中完成,默认情况下,有一个名为users的提供程序。您可以创建自己的保护程序和提供程序,如下所示:
警卫:
'guards' => [
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
'citizens' => [
'driver' => 'passport',
'provider' => 'citizens',
],
],在提供者一节中:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'citizens' => [
'driver' => 'eloquent',
'model' => App\Models\Citizen::class, //path to your model
],
],现在,您可以通过使用auth:citizens作为中间件使用带有自定义保护的中间件。例如,在路由文件中,
Route::middleware('auth:citizens')->group(function(){
});https://stackoverflow.com/questions/73993518
复制相似问题