Laravel 登陆认证 访问指定的 Guard 实例 Admin认证

本文介绍了如何在Laravel中配置和使用Guard进行管理员的独立认证,包括配置不同的guard实例,重定向未认证用户到特定登录页面,以及登录、获取认证用户和退出登录的操作。
摘要由CSDN通过智能技术生成

使用 Auth 门面的 guard 方法指定想要使用的 guard 实例,这种机制允许你在同一个应用中对不同的认证模型或用户表实现完全独立的用户认证。

一 、配置

该功能可用于为不同表的不同类型用户(同一个表不同类型用户理论上也可以)实现隔离式登录提供了方便,我们只要为每张表配置一个独立的 guard 就可以了。比如我们除了 users 表之外还有一张 admins 表用于存放后台管理员,要实现管理员的单独登录,就可以这么配置 auth.php 配置文件:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users', // 默认
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],

    'admin' => [
        'driver' => 'session', // 用户信息存到session里
        'provider' => 'admins', // 添加admin provider
    ]
],

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class, // 这里对应的是User模型(默认)
    ],

    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Admin::class, // 这里对应的是Admin模型
    ],
],

auth.php配置完成后,还需要在Admin模型里修改

<?php

namespace App\Models; // 注意要和自己定义的模型命名空间一致

use Illuminate\Foundation\Auth\User as Authenticatable; // 注意这里要和User模型一样

// 这里也要和User模型一样
class Admin extends Authenticatable 
{
   
  protected $fillable = [
    'name', 'password'
  ];
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值