You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Admin面板密码重置求助:新旧密码均无法登录

别急,我来帮你搞定这个Laravel Admin登录不上的问题!

解决Laravel Admin密码重置失败的问题

首先得给你划重点:Laravel 完全不支持直接用md5、sha1这类哈希方式存储密码,它默认用的是bcrypt(Laravel 9及以上还支持Argon2)加密算法,所以你直接在phpMyAdmin里替换成md5/sha1的哈希值肯定没用。下面给你两种靠谱的重置方法:

方法一:用Artisan Tinker生成正确哈希并更新(推荐)

这是最稳妥的方式,步骤很简单:

  1. 打开你的项目根目录,在终端(命令行)里敲:

    php artisan tinker
    
  2. 进入tinker交互环境后,执行这段代码(把你的新密码换成你想设的密码,管理员邮箱换成你账号的邮箱):

    $user = App\Models\Admin::where('email', '管理员邮箱')->first();
    $user->password = Hash::make('你的新密码');
    $user->save();
    exit;
    

    注意:如果你的Admin模型不在App\Models目录下,要换成对应命名空间,比如App\Admin\Models\Admin,具体看你的Laravel Admin配置。

  3. 执行完退出tinker,现在用新密码登录试试,应该就能进去了。

方法二:手动生成bcrypt哈希后更新数据库

如果暂时用不了终端,可以这么操作:

  1. 生成bcrypt哈希值:你可以本地新建个PHP文件,写echo password_hash('你的新密码', PASSWORD_BCRYPT);,运行后复制输出的哈希串(别用不安全的在线工具,本地生成更稳妥)。
  2. 打开phpMyAdmin,找到管理员表(通常是admins或者users,看你Laravel Admin的配置),找到对应账号的记录,把password字段的值替换成刚才生成的bcrypt哈希串。
  3. 保存后尝试登录即可。

额外排查小细节

  • 确认改对了表:有些Laravel Admin用默认的users表,有些是单独的admins表,别改错位了。
  • 密码字段长度没问题:你说的varchar(191)完全够,bcrypt生成的哈希串只有60位,长度绰绰有余。
  • 清缓存试试:如果还是不行,终端里敲php artisan cache:clear和php artisan config:clear再登录。

内容的提问来源于stack exchange,提问作者Francisco Iniguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 20:02:39