请教LARAVEL6中 /config/auth.php中guards设置的问题
大家好,以下代码,admin和 ytuser在使用中得使用两套代码去使用,
因为我的admin 、ytuser 里边的用户都是一样的,我是想整合他们在一起,比如admin 、ytuser的用户登录的时候,都使用同一个验证
// 用户验证并登录
Auth::guard(‘admin’)->login();
请问以下代码该怎么改,谢谢大家!
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin'=>[
'driver' => 'session',
'provider' => 'admins',
],
'ytuser'=>[
'driver' => 'session',
'provider' => 'ytuser',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins'=>[
'driver'=>'eloquent',
'model'=>App\Models\AdminUser::class,
],
'ytuser'=>[
'driver'=>'eloquent',
'model'=>App\Models\YtUser::class,
],
关于 LearnKu
@芝麻开门 @nfangxu 喔,对了,借个花献个佛。确实是有这个逻辑的,路由可以这样写:
再有一个更高级些的方法就是自己新建一个认证守卫 MyGuard,在里面实现 admin 和 ytuser 两个认证,这样,你在控制器代码中就可以用 Auth::guard(‘my-guard’)->login() 来代替两个验证了。
翻了一下 文档,还真有简单的方式:
然后在
app/config/auth.php中的guards下新增一个守卫,驱动使用上面闭包中定义的名字:然后控制器中就可以用 Auth::guard(‘my-guard’)->login() 来合二为一了