Laravel+JWT 多表(or多用户)认证
最近在用laravel+jwt进行auth认证,刚写完用户模块
遇到个问题:马上要写后台模块,而2个模块设计的是2张用户表:user表和admin表,larvel倒是有多用户的权限认证办法,jwt的没接触过
第一时间就去谷歌搜了下关于laravel+jwt多用户认证的文章,出来的前3个结果不(简)是(直)很(有)好(毒),特意在这里给大家介绍个简单办法,以免和我一样白白浪费2个小时-_-!!!
分析:
谷歌到的办法(出自laravel china)是:先去更新jwt到1.0 dev版,然后再配置laravel auth.php不同的guards,又还要重新发布...思之不对劲~
-
重新看了下config文件夹下的
jwt.php
,里面有个配置项'user' => 'App\Models\User', // 这里在我之前已经安装的时候已经配置过(原始是'user' => 'App\User'),不过当时造轮子在,没多想。。
感觉有戏,修改了下model指向Admin,肯定就访问了Admin去了,那么说明我们只需要去在哪里配置下即可
没错,就是在中间件了,在访问home和admin路由群组的时候,各自添加一个中间件,用于指定jwt去访问不同的model。下面是我写的中间件:
<?php
namespace App\Http\Middleware;
use Closure;
class AdminChangeMidleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
config(['jwt.user' => '\App\Models\Admin']); //用于指定特定model
config(['auth.providers.users.model' => \App\Models\Admin::class]);//就是他们了
return $next($request);
}
}
推荐阅读
腾讯云服务器Centos7.7搭建Lnmp
查询系统信息 {代码...} yum镜像切换为网易 下载新源及将本地源备份 {代码...} yum源更新 {代码...} 安装Nginx-1.16.1 确认gcc g++开发类库是否装好 {代码...} 安装nginx组建 {代码...} 下载并安装nginx {代码......
Twilight阅读 2.2k
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。
王中阳Go赞 4阅读 1.7k评论 2
一分钟搞明白!快速掌握 Go WebAssembly
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。
煎鱼赞 4阅读 2.2k
面试官:请说一下如何优化结构体的性能?
使用内存对齐机制优化结构体性能,妙啊!前言之前分享过2篇结构体文章:10秒改struct性能直接提升15%,产品姐姐都夸我好棒 和 Go语言空结构体这3种妙用,你知道吗? 得到了大家的好评。这篇继续分享进阶内容:结...
王中阳Go赞 4阅读 3.8k评论 2
Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。
ThinkSNS赞 1阅读 2.4k
我让chatGPT用PHP写一个MVC框架,不仅写出来,还能跑!
没想到写出来的框架确实挺简单的,但是又没觉得哪里不对,于是我尝试把这个框架放到服务器试试能不能跑起来,最后还真的可以跑起来,为了让大家能够看到这个框架的演示,我直接爬一个热搜,然后便于展示数据。
TANKING赞 1阅读 1.7k
开发一个全网搜索引擎的大致流程
由于对搜索引擎技术很感兴趣,便开始尝试开发一个搜索引擎。在参考了网上有限的资料后,加上自己钻研,最终开发出了一个小型的全网搜索引擎,底部有项目地址和搜索测试图片。
会飞的鸟赞 1阅读 5.7k评论 1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。