首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel Auth::user()在使用guard('admin')登录后返回null

Laravel是一种流行的PHP开发框架,而Auth::user()是Laravel框架中用于获取当前用户的方法之一。当使用guard('admin')来指定使用admin守卫登录后,却返回null的情况可能有以下几种原因:

  1. 守卫配置错误:检查config/auth.php文件中的guards配置,确保'admin'守卫已正确设置,并指向了正确的用户模型和认证驱动。
  2. 认证驱动错误:确认config/auth.php文件中的guards配置中指定的'admin'守卫使用的认证驱动是否正确。认证驱动通常配置在config/auth.php文件的providers部分。
  3. 用户未登录:确保在使用Auth::guard('admin')->login()方法后,用户已经成功登录。可以通过使用Auth::guard('admin')->check()方法来检查用户是否已经登录。
  4. 数据库配置错误:检查config/database.php文件中的数据库配置是否正确,包括数据库连接、数据库名称、用户名和密码等信息。
  5. 用户表关联错误:确认用户模型是否正确关联了正确的用户表。可以在用户模型中通过$table属性指定用户表的名称,同时在config/auth.php文件中的guards配置中指定对应的表。

推荐的腾讯云相关产品: 腾讯云提供了一系列与云计算相关的产品,包括虚拟服务器、云数据库、云存储等,以下是其中几个推荐的产品和对应的产品介绍链接:

  1. 云服务器(CVM):腾讯云提供的弹性云服务器,支持多种操作系统和应用场景。详情请查看:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CMQ):腾讯云提供的高性能、可扩展的关系型数据库服务。详情请查看:https://cloud.tencent.com/product/cdb
  3. 对象存储(COS):腾讯云提供的海量、安全、低成本的云存储服务。详情请查看:https://cloud.tencent.com/product/cos

以上是关于Laravel Auth::user()在使用guard('admin')登录后返回null的可能原因和一些推荐的腾讯云相关产品。希望对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel 自带的Auth验证登录方法

laravel有自带的登录验证。只要建立对应的表和配置一些文件就能够使用,无需开发者自己去实现登录逻辑。...第三步:控制器中auth使用 Auth::guard('admin')- attempt($credentials)); 尝试登录 Auth::guard($guard)- guest();判断用户是否来宾...,可用于中间件,判断用户是否登录返回false,则已经登录,反之,跳转会登录页面 Auth::guard($guard)- user();获取已经登录的用户信息,注意在__construct()中无法获取...= null) { //如果没有指定的话,默认 guard 是 web, //dump(Auth::guard($guard)- check()); 判断用户是否认证 //Auth::guard...= $request- only('username', 'password'); /** * 使用laravel自带的Auth登录 * 1、密码使用的是hash加密 $crypt

2.6K21

Laravel5.5 实现后台管理登录的方法(自定义用户表登录)

最近群里很多人文档,laravel如何做会员和管理两个身份登录,今天把教程分享一下 自定义用户表登录 认证是由 guards 和 providers 两部分构成的, defaults 配置是默认选择一个...], ], 标红的是我们添加的后台管理员登录身份 创建后台用户表和model php artisan make:model Admin php artisan make:migration...= null) { if (Auth::guard($guard)- check()) { // 根据不同 guard 跳转到不同的页面 $url = $guard ?...); } app\Http\Kernel.php 中注册: protected $routeMiddleware = [ ··· ··· 'auth.admin' = \App\...('admin.login') }} 访问 你的站点/admin/login 以上这篇Laravel5.5 实现后台管理登录的方法(自定义用户表登录)就是小编分享给大家的全部内容了,希望能给大家一个参考

1.3K21

通过修改Laravel Auth使用salt和password进行认证用户详解

Auth非常强大易用,不过Laravel的用户认证系统中用户注册、登录、找回密码这些模块中用到密码加密和认证算法时使用的都是bcrypt,而很多之前做的项目用户表里都是采用存储salt + password...加密字符串的方式来记录用户的密码的,这就给使用Laravel框架来重构之前的项目带来了很大的阻力,不过最近自己通过在网上找资料、看社区论坛、看源码等方式完成了对Laravel Auth的修改,在这里分享出来希望能对其他人有所帮助...修改用户注册 首先,laravel 里启用验证是用的artisan命令 php artisan make:auth 执行完命令routes文件(位置:app/Http/routes.php)会多一条静态方法调用...AdminEloquentUserProvider对象供Laravel Auth使用,好了做完这些修改LaravelAuth在做用户登录验证的时候采用的就是自定义的salt + password的方式了...注:使用Laravel版本为5.2

2.9K30

Laravel源码解析之用户认证系统(一)

使用Laravel的开发者都知道,Laravel自带了一个认证系统来提供基本的用户注册、登录、认证、找回密码,如果Auth系统里提供的基础功能不满足需求还可以很方便的在这些基础功能上进行扩展。...Guard 看守器,定义了该如何认证每个请求中用户 User Provider 用户提供器,定义了如何从持久化的存储数据中检索用户 本文中我们会详细介绍这些核心部件,然后文章的最后更新每个部件的作用细节到上面给出的这个表中...开始使用Auth系统 只需新的 Laravel 应用上运行 php artisan make:auth 和 php artisan migrate 命令就能够项目里生成Auth系统需要的路由和视图以及数据表...guest(); /** * 获取当前用户的用户信息数据,获取成功返回用户User模型实例(\App\User实现了Authenticatable接口) * 失败返回null...这个Contracts定义了Laravel auth系统里认证用户时使用的方法,除了认证用户外还会涉及用户认证成功如何持久化用户的认证状态。

3K30

Laravel源码解析之用户认证系统(二)

,注意这个login方法没有登录认证,只是把认证的用户装载到应用中这样应用里任何地方我们都能够通过 Auth::user()来获取用户数据啦。...用户登录认证 Laravel Auth系统的登录路由如下 $this->post('login', 'Auth\LoginController@login'); 我们看一下LoginController...用户认证系统的主要细节梳理完我们就知道如何定义我们自己的看守器(Guard)或用户提供器(UserProvider)了,首先他们必须实现各自遵守的契约里的方法才能够无缝接入到LaravelAuth系统中...,然后还需要将自己定义的Guard或Provider通过 Auth::extend、 Auth::provider方法注册返回Guard或者Provider实例的闭包到Laravel中去,Guard和UserProvider...的自定义不是必须成套的,我们可以单独自定义Guard使用默认的EloquentUserProvider,或者让默认的SessionGuard使用自定义的UserProvider。

2.1K30

Laravel系列7.4】安全相关

默认情况下,我们安装 Laravel 框架,会自带一个默认的 User Model ,这个 Model 就是这个默认用户表的模型类。...在这个控制器中,我们 Login 方法中使用了 attempt() 方法来实现登录功能,只需要将原始的用户名和密码传递进去,方法内部会查询用户并进行比对,它默认走的是 User 这个 Model ,调用的数据表就是...= Str::random(60); $user->save(); // dd($user, $attempt, $user->api_token); } 登录这块,我们只需要在每次登录的时候去新建一个...中间件守护 Laravel 的认证体系中,中间件有守卫的职责,包括配置文件和 Auth 的常用方法中都有 guard 这个单词的出现。我们源码中主要就来看一下它的中间件是如何进行认证守护的。...这个命令是我们最开始第一篇文章搭建 Laravel 框架时就见过的。 所有 Laravel 加密之后的结果都会使用消息认证码 (MAC) 签名,使其底层值不能在加密再次修改。

3.6K40

如何扩展Laravel Auth来满足项目需求

之前写过两篇文章分别介绍了Laravel Auth认证系统的构成和实现细节知道了Laravel是如何应用看守器和用户提供器来进行用户认证的,但是现实工作中大部分时候产品用户体系是早就有的这种情况下就无法使用框架自带的...bcypt加密存储的密码,但是很多已经存在的老系统中用户密码都是用盐值加明文密码做哈希存储的,如果想要在这种老系统中应用Laravel开发项目的话那么我们就不能够再使用Laravel自带的登录和注册方法了...$app['hash'], $config['model']); }); } ...... } 注册完用户提供器我们就可以 config/auth.php里配置让看守器使用新注册的...$config) { // 返回一个 Illuminate\Contracts\Auth\Guard 实例......, 认证中会使用上面注册的 jwt看守器来完成认证,认证完成后会返回一个JSON WEB TOKEN给客户端 Route::post('apilogin', 'Auth\LoginController

2.7K20

laravel5.2的新功能

上一节课我们学了laravel5.3的新特性 https://my.oschina.net/lilugirl2005/blog/787478 这节课主要讲一些laravel5.2的新特性laravel5.3...这里的key是根据客户端请求的ip,方式,域名等信息加密形成一个唯一值 两分钟实现注册登录 只要简单的执行 php artisan make:auth 即可,如果之前没有migrate 数据库,需要先...进入注册页面 https://10yue.live/register 注册一个账户尝试登录看看 登录的样子 ?...增加属性guard 值为admin protected $redirectTo = '/admin'; protected $guard='admin'; //与表名一致 且删除红框部分的代码.../views文件夹下创建admin文件夹 ,将resources/views/auth复制一份到resources/views/admin文件夹 ,修改一些明显的链接地址 routes/web.php

1.5K50

Laravel jwt 多表(多用户端)验证隔离的实现

# JWT 多表验证隔离 为什么要做隔离 当同一个 laravel 项目有多端(移动端、管理端……)都需要使用 jwt 做用户验证时,如果用户表有多个(一般都会有),就需要做 token 隔离,...这个 token 通过你的验证中间件时,你使用不同的 guard 就能拿到对应表 id 为 1 的用户(了解 guard 请查看 laravel 的文档)。...,这里是返回的是主键 ‘id’, getJWTCustomClaims:返回包含要添加到 jwt 声明中的自定义键值对数组,这里返回空数组,没有添加任何自定义信息。...接下来我们自己写一个中间件,解析 token 判断是否是我们想要的角色,对应就通过,不对应就报 401 就好了。...jwt 角色校验中间件 接下来需要用户验证的路由组中添加我们的中间件: Route::group([ 'middleware' = ['jwt.role:admin', 'jwt.auth']

2.1K31

Laravel中错误与异常处理的用法示例

前言 本文中,我们将探讨 Laravel Web 框架中最重要和最少讨论的功能之一 – 异常处理。 Laravel 带有一个内置的异常处理程序,可以让您轻松地以友好的方式报告和呈现异常。...Laravel 自带错误和异常处理,App\Exceptions\Handler 负责上报异常和如何返回内容,以及未登录的处理。...好了,话不多说了,来一起看看详细的介绍吧 忽略异常 $dontReport 中可以定义忽略的异常类名: protected $dontReport = [ \Illuminate\Auth\AuthenticationException...= $exception- guards(); if (in_array('admin', $guard)) { return redirect()- guest('/admin/login')...默认情况下返回前台的登录页,如果是访问后台页面未登录,则跳转到后台登录页。

2K10

Laravel 自动生成验证的实例讲解:login logout

Laravel 自动授权讲解 看到这部分文档,经常看见的一句话就是php artisan make:auth,经常好奇这段代码到底干了什么,现在就来扒一扒。...'); $this- post('password/reset', 'Auth\ResetPasswordController@reset'); } 这一部分先讲注册,首先,可以看到登录(login...return $this- sendFailedLoginResponse($request); } 可以看到验证的重点还是Auth::attempt()函数,而且默认是使用email进行验证。...is_null($this- user)) { $this- cycleRememberToken($user); } if (isset($this- events)) { $this...$this- user = null; $this- loggedOut = true; } 其中牵扯很多,那么我换种角度考虑,假设我们不考虑logout()的具体实现,而是思考如何制作自己的退出设置

80441
领券