能否举例解释 Laravel 5.2 的多认证方式?
能否举例解释 Laravel 5.2 的多认证方式?
我正在尝试对user
表和admin
表分别进行用户和管理员的认证。
我正在使用Laravel开箱即用的User
模型,并针对Admin
创建了相同的模型。我已经在auth.php
中添加了一些Guard
和Provider
的键。
守卫
'guards' => [ 'user' =>[ 'driver' => 'session', 'provider' => 'user', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admin', ], ],
提供者
'providers' => [ 'user' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admin' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ] ],
路由
Route::group(['middleware' => ['web']], function () { // Login Routes. Route::get('/admin/login','AdminAuth\AuthController@showLoginForm'); Route::post('/admin/login','AdminAuth\AuthController@login'); Route::get('/admin/logout','AdminAuth\AuthController@logout'); // Registration Routes. Route::get('admin/register', 'AdminAuth\AuthController@showRegistrationForm'); Route::post('admin/register', 'AdminAuth\AuthController@register'); Route::get('/admin', 'AdminController@index'); });
我创建了一个名为AuthAdmin
的目录,其中包含Laravel默认的AuthController.php
和PasswordController.php
文件。(已相应修改命名空间)
首先,在Laravel文档中提到了如何在认证时指定自定义守卫,例如下面的示例,但这并不起作用。
文档中还提到了另一种使用守卫的方法,但也不起作用。
如果有人可以解决这个问题并指正我,那就好了。
admin 更改状态以发布 2023年5月21日