返回顶部
首页 > 资讯 > 精选 >laravel中guard指的是什么
  • 789
分享到

laravel中guard指的是什么

2023-06-30 18:06:16 789人浏览 八月长安
摘要

今天小编给大家分享一下laravel中guard指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在laravel中,

今天小编给大家分享一下laravel中guard指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

本文操作环境:windows10系统、Laravel5.4版、Dell G3电脑。

laravel中guard

其实无论是Guard还是Provide,你都可以理解为。某个特定功能的插件。

他的作用是处理一个认证,来判断每个请求、调用是否是登录过,或者允许通过的,

什么是Guard

在Laravel/Lumen框架中,用户的登录/注册的认证基本都已经封装好了,开箱即用。而登录/注册认证的核心就是:

用户的注册信息存入数据库(登记)

从数据库中读取数据和用户输入的对比(认证)

上述两步是登录/注册的基本,可以看到都会涉及到数据库的操作,这两步框架底层已经帮我们做好了,而且考虑到了很多情况,比如用户认证的数据表不是user表而是admin_user,认证字段是phone而不是email,等等一些问题都是Guard所要解决的,通过Guard可以指定使用哪个数据表什么字段等,Guard能非常灵活的构建一套自己的认证体系。

通俗地讲,就是这样:Guard就像是小区的门卫大叔,冷酷无情,不认人只认登记信息。

进小区之前大叔需要先检查你的身份,验证不通过大叔就不让你进去。

如果是走路/骑车进去,大叔1需要检查你的门禁卡,他拿出记录了小区所有业主门禁卡信息的本子查看你这个门禁卡信息有没有在这个本子上;

如果你开车进去,大叔2就从记录了所有业主车牌号的本子中检查你的车牌号,所以新业主要小区了需要告知门卫大叔们你的门禁卡信息或者车牌号,要不然大叔2不让你进。

如果是物业管理员要进小区,门卫大叔3也只认登记信息,管理员出示他的管理员门禁卡,门卫大叔就会检查记录了管理员门禁卡信息的本子。

上面讲的对应了框架中的多用户认证:

走路/骑车的人 -> 门禁卡

开车的人 -> 车牌号

物业管理员 -> 门禁卡

门禁卡和车牌号都是不同的认证方式,而门卫大叔查看的本子就对应了不同数据库中的用户信息,这样讲是不是更容易理解了。

Lumen/Laravel中以中间件(Middleware)的方式提供了非常灵活的认证,通过简单的配置就可以切换多个认证。

一个Guard会涉及到三个部分,分别是:

  • Guard实现本身

  • User Provider用户提供者,指定哪个数据表以什么方式获取(eloquent/database)

  • Authenticatable接口规定那些东西可以被认证,就是实现它的接口嘛

扩展知识:

Guard我的理解他应该是一个类似用户认证的东西。

在 config/auth.PHP 中有配置 guards 的参数,可以看出来 WEBapi 是两个 guards。

在平时的业务中api可能更多的是用户前台用户的操作,而web更多的是后台用户的操作。

默认配置都是指向 users 的 provider。

'guards' => [        'web' => [            'driver' => 'session',            'provider' => 'users',        ],        'api' => [            'driver' => 'token',            'provider' => 'users',        ],    ],

接下来看看 provider 都有什么配置。

   'providers' => [        'users' => [            'driver' => 'eloquent',            'model' => App\User::class,        ],        // 'users' => [        //     'driver' => 'database',        //     'table' => 'users',        // ],    ],

在 providers 中有刚才看到的 users 配置了吧,这个就是配置laravel的用户组,因为前台和后台用户在一般的情况下是分开操作的。所以就可以在这里新建一个 admin 的用户组,并配置。开箱默认只用 users。

相对的每个用户组密码操作应该也是不同的,所以这里还有 passWord 的配置。

      'passwords' => [        'users' => [            'provider' => 'users',            'table' => 'password_resets',            'expire' => 60,        ],    ],

平时用于检测登陆用户,或者用户是否登陆我们都用的是 Auth::check() 就可以检测到,这是因为在使用默认配置的时候,guard自动配置为 users 用户组。

      'defaults' => [        'guard' => 'web',        'passwords' => 'users',    ],

web guard下指向的就是 users 模型。

但是当如果我们有两个用户组,前台后台的时候怎么进行验证呢?

Auth::check() 是判断用户是否登录的方法,如果使用的默认用户系统,那这样使用没问题。

但是使用两组用户的话,就应该这样操作:

Auth::guard('api')->check() 就是用来判断前台用户是否登录 Auth::guard('web')->check() 就是用来判断后台用户是否登录

所以如果使用非默认用户组,则需要用guard来指定。

所以我们平时用的其实就是默认配置,写全就应该是 Auth::guard(‘web)->check()

以上就是“laravel中guard指的是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: laravel中guard指的是什么

本文链接: https://lsjlt.com/news/330761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • laravel中guard指的是什么
    今天小编给大家分享一下laravel中guard指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在laravel中,...
    99+
    2023-06-30
  • laravel中homestead指的是什么
    今天小编给大家分享一下laravel中homestead指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。larave...
    99+
    2023-06-29
  • laravel中spark指的是什么
    这篇文章主要介绍“laravel中spark指的是什么”,在日常操作中,相信很多人在laravel中spark指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”laravel中spark指的是什么”的疑...
    99+
    2023-06-29
  • laravel中lts指的是什么
    这篇文章主要介绍“laravel中lts指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel中lts指的是什么”文章能帮助大家解决问题。在laravel中,lts是长期技术支持的意...
    99+
    2023-06-30
  • laravel中trait指的是什么意思
    这篇文章主要介绍了laravel中trait指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在laravel中,trait是为类似PHP的单继承语言而准备的一种代...
    99+
    2023-06-26
  • laravel门面指的是什么
    这篇文章将为大家详细讲解有关laravel门面指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在laravel中,门面是为应用服务容器中的绑定类提供的一个“静态”接口。维护时能够提供更加易于测试、...
    99+
    2023-06-29
  • laravel中依赖注入指的是什么
    这篇文章给大家分享的是有关laravel中依赖注入指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。laravel依赖注入一词是由Martin Fowler提出的术语,它是将组件注入到应用程序中的一种行为,...
    99+
    2023-06-22
  • laravel中ioc控制反转指的是什么
    这篇文章主要介绍“laravel中ioc控制反转指的是什么”,在日常操作中,相信很多人在laravel中ioc控制反转指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”laravel中ioc控制反转指的...
    99+
    2023-06-29
  • laravel中artisan是什么
    laravel中artisan是一个命令行工具。Artisan是Laravel框架的一部分,它允许开发者通过命令行界面执行各种操作,从创建数据库表到生成模型、控制器和视图等等。Artisan的一大优势是可以轻松地创建自定义命令,开发者可以通...
    99+
    2023-07-11
  • laravel中provider的概念是什么
    本文小编为大家详细介绍“laravel中provider的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“laravel中provider的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在la...
    99+
    2023-06-30
  • Laravel中App_KEY的作用是什么
    这篇文章主要介绍“Laravel中App_KEY的作用是什么”,在日常操作中,相信很多人在Laravel中App_KEY的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Laravel中App_KEY...
    99+
    2023-07-04
  • Oracle Data Guard部署方法是什么
    这篇文章主要介绍“Oracle Data Guard部署方法是什么”,在日常操作中,相信很多人在Oracle Data Guard部署方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • Laravel中的文件存储是什么
    在Laravel中,文件存储是指将文件上传到服务器或存储在本地文件系统中,并在需要时进行访问和管理。Laravel提供了便捷的文件存...
    99+
    2024-04-16
    Laravel
  • Java中%指的是什么
    本篇内容主要讲解“Java中%指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中%指的是什么”吧!在Java中,“%”是取余的意思,是一个二元算术运算符,可进行除法运算并获取余数...
    99+
    2023-07-05
  • C++中%指的是什么
    本篇内容主要讲解“C++中%指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++中%指的是什么”吧!C++中的%的解释两种意思:1、格式化字符串输出2、整数取余目前printf支持以下...
    99+
    2023-07-05
  • ORACLE 11G DATA GUARD基本原理是什么
    本篇内容主要讲解“ORACLE 11G DATA GUARD基本原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ORACLE 11G DATA GUAR...
    99+
    2024-04-02
  • 使用Data Guard Broker进行Data Guard物理备用库配置的方法是什么
    这篇文章主要介绍“使用Data Guard Broker进行Data Guard物理备用库配置的方法是什么”,在日常操作中,相信很多人在使用Data Guard Broker进...
    99+
    2024-04-02
  • php中laravel框架的作用是什么
    这期内容当中小编将会给大家带来有关php中laravel框架的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流...
    99+
    2023-06-14
  • system guard运行时监视器的作用是什么
    这篇文章主要介绍了system guard运行时监视器的作用是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。system guard运行时监视器的作用:1、可以很直观地看...
    99+
    2023-06-15
  • MySQL中order指的是什么
    这篇文章将为大家详细讲解有关MySQL中order指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql是一种关系数据库,它有许多关键字供使用者用来操作数据,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作