[PHP] 浅谈 Laravel Authentication 的 guards 与 providers

从文档的简单介绍上来讲,有一些抽象。

个人感觉,对于概念上的大多数不理解主要还是来自于 文档不是讲设计思路,而是实际操作。

查看英文文档,通常来说可以给你最准确的直觉,而本地翻译一般比较字面或者带有理解性的。

https://laravel.com/docs/6.x/authentication#introduction

认证(Authentication)组件的配置是 config/auth.php,用于区分不同认证机制的行为,所以都是可以自定义的,

这是设计思路之一。

Laravel 的认证服务由两部分组成,就是 guards 和 providers。

guards 按照文档举例的意思,给你的感觉是用于决定认证数据存储在哪里,session、file、redis ?

扫描二维码关注公众号,回复: 7738600 查看本文章

如果真是这样的话,就没必要称作 guards,叫 storage 不是更直接 ?

有理由判断 guards 只是一个名词而已,等价于 way,具体使用的是什么 guards,需要自己起名,可以是 fileGuards,redisGuards,databaseGuards,mixGuards,firstGuards ...

现在可以看看 providers 了,这多数是我们理解的功能性服务提供者的意思了,那么在认证服务这里就是决定 guards 的实现,决定数据如何流转的方法们。

providers 和某个 guards 挂上钩了才有意义,guards 需要 providers,providers 可以属于想要的 guards。

相信到这里,再去看实际 auth.php 的配置,这些就是设计思路下的具体案例了,你同意吗?

Link:https://www.cnblogs.com/farwish/p/11790152.html

猜你喜欢

转载自www.cnblogs.com/farwish/p/11790152.html
今日推荐