问题描述

最近在做一个项目,需要多表认证,分别为adminuser表,我采用的JWT认证方式,但今天遇到了一个问题:使用Auth::user()返回null,也就是说无法获得当前认证的用户。

网上搜索后,并没有找到直接的解决方案,然后经过几次尝试居然误打误撞地解决了,所以特地记录下来,希望遇到同样问题的人不要再在这问题上耗费太多时间。

注意:这里并不介绍JWT的工作原理和配置,如果想理解更多请参考以下文章:

  • JWT 完整使用详解
  • JWT 扩展具体实现详解

大致配置

先讲一下我的配置。

auth.php文件如下:

return ['defaults' => ['guard' => env('AUTH_GUARD', 'admin'),],'guards' => ['admin' => ['driver' => 'jwt',                           #### 更改为JWT驱动'provider' => 'admins',],'user' => ['driver' => 'jwt',                           #### 更改为JWT驱动'provider' => 'users',],],'providers' => ['admins' => ['driver' => 'eloquent','model'  => AppAdmin::class,        #### 指定用于token验证的模型类],'users' => ['driver' => 'eloquent','model'  => AppUser::class,        #### 指定用于token验证的模型类],],'passwords' => [//],];

问题的根源

auth.php中,我们有两个guard,而默认的guard指向的是admin,这时候如果是user经过的验证的话,是无法通过Auth::user()获取到当前认证用户信息的。

解决方法

解决方法很简单,只要使用Auth::guard('user')指明使用哪个guard即可,这里我是通过公用的控制器中的一个方法:

public function getAuthUser($guard = 'admin'){return Auth::guard($guard)->user();
}

感谢观看!

input blur获取不到当前值_解决 Laravel JWT 多表认证时获取不到当前认证用户的问题...相关推荐

  1. js获取request中的值_基于node.js的开发框架 — Koa

    一.简介 Koa 基于nodeJs平台的下一代web开发框架,由 Express 幕后的原班人马打造,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组 ...

  2. java获取radio选中的值_获取radio值

    使用jquery获取radio的值  使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来 ...

  3. request获取int类型的值_获取通话记录或通讯录的数量为负值

    安卓源码避坑指南5--获取通话记录或通讯录的数量为负值 通过蓝牙PBAP协议同步通讯录.通话记录时,想必对其数量大小也是很感兴趣的,因此一般的设计思路都是先获取到同步对象的总大小,然后再同步该对象的具 ...

  4. 如何获取注解中的值_如何在运行时利用注解信息

    注解( annontation )是 Java 1.5 之后引入的一个为程序添加元数据的功能.注解本身并不是魔法,只是在代码里添加了描述代码自身的信息,至于如何理解和使用这些信息,则需要专门的解析代码 ...

  5. jq如何获取选中option的值_【分享】如何获取变量token的值

    一.什么是token 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端 客户端收到 Token 以后可以 ...

  6. jq如何获取选中option的值_如何用jQuery获得select的值

    1.获取第一个option的值 $('#test option:first').val(); 2.最后一个option的值 $('#test option:last').val(); 3.获取第二个o ...

  7. DWZ-JUI 树形Checkbox组件 无法一次获取所有选中的值的解决方法

    UI中 tree Checkbox 组件 在官方文档中提供的oncheck事件中只能够获取当前点击的权限值,而无法获取其他选中的值 <ul class="tree treeFolder ...

  8. python获取select选中的值_Python3.x:遍历select下拉框获取value值

    Python3.x:遍历select下拉框获取value值 Select提供了三种选择方法: # 通过选项的顺序,第一个为 0 select_by_index(index) # 通过value属性 s ...

  9. android 获取sd卡目录失败_解决Android手机自带内部存储路径存在但是却获取不到内容的问题...

    我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro ...

最新文章

  1. Java是如何实现Future模式的?万字详解!
  2. Python Flask出现No module named ‘markupsafe._compat
  3. pythonmax对字符_(MAX第五篇)Python--字符串操作(三)
  4. 牛客练习赛 65 (待补E-网络流)
  5. 家用计算机来源,美计算机专家称BBS才是博客真正起源
  6. java获取单击内容,java – 单击菜单链接时,获取元素不是可点击的异常
  7. 3. 设计模式之创建模式
  8. 【1】JVM-内存模型
  9. 阿里云服务器部署(保姆级)
  10. java加密文件夹_怎样用JAVA给文件夹加密,拜求各位大侠!
  11. 程序集(dll) 安装到 GAC 程序集添加到VS引用开窗(转)
  12. win7桌面背景变黑且不能更换壁纸
  13. 一言不合就想斗图?快用深度学习帮你生成表情包
  14. PCIe TLP Prefix PASID TLP Prefix介绍
  15. 电源与地之间接电容的原因分析
  16. 程序员专属的春节祝福
  17. Geogebra 教程之 01 什么是Geogebra,真的可以提高我们数学水平么?
  18. 《装机笔记》固态硬盘选择
  19. 围棋 android 开源,开源围棋AI项目RN围棋
  20. Jetson Nano【13】关于torch2trt报错:AttributeError: ‘Tensor‘ object has no attribute ‘_trt‘的一种可能性

热门文章

  1. 设计模式(19)-Observer Pattern
  2. null 与 undefined 的区别
  3. python程序默认执行与多线程
  4. Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...
  5. qq空间等闪动的文字怎么做?
  6. iphone6 iphone6 plus 放大显示模式高分辨率模式问题
  7. 十二 手游开发神器 cocos2d-x editor 之游戏暂停悬浮层
  8. Revit二次开发之“遍历材质判断材质类别的新方法”BuiltInParameter.PHY_MATERIAL_PARAM_CLASS...
  9. mybatis configuration的内容必须匹配问题
  10. Redis info参数总结