hyperf 系列教程之 hyperf

阅读: 评论:0

hyperf 系列教程之 hyperf

hyperf 系列教程之 hyperf

前言

上次写了一个 hyperf-auth 组件,收到许多朋友的反馈和支持,非常感谢大家的支持。今天补充一下关于自定义用户认证的方法。
其实,大部分场景下你都可以通过 hyperf-auth 项目的 README 文档了解到具体如何使用 hyperf-auth 的各种功能,但是关于自定义验证,README 其实只是一笔带过。

下面我们就来了解以下具体如何实现自定义验证。

hyperf-auth 组件的设计思路

由于我本人是个 laravel 爱好者,所以整个组件的设计思路大致是跟 laravel auth 相似的,都有 guarduser provider,包括配置方式也是极其相似的,所以,扩展方式也是相似的。

自定义 guard

想要实现一个自己的 guard 非常简单,只要实现 QbhyHyperfAuthAuthGuard 接口即可,而且我抽象了一个 AbstractAuthGuard 继承该抽象类可以减少许多代码,大部分情况下,你只需要实现下面这三个方法即可。

<?phpnamespace AppAuthGuard;use QbhyHyperfAuthAuthenticatable;
use QbhyHyperfAuthGuardAbstractAuthGuard;class CustomGuard extends AbstractAuthGuard
{public function login(Authenticatable $user){// TODO: Implement login() method.}public function user(): ?Authenticatable{// TODO: Implement user() method.}public function logout(){// TODO: Implement logout() method.}
}

该类的构造方法可以注入一些 Hyperf 环境中常用的实例,比如 RequestSession。不重写构造函数的情况下,配置文件中的值和 guard 的属性对应关系如下:

$authConfig = ['defa

本文发布于:2024-02-04 21:27:24,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170716817659766.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:教程   系列   hyperf
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23