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

Laravel登录功能失效及old助手异常问题求助

Laravel登录失败与old()函数失效解决方案

一、登录失败排查要点

  • 修正认证字段配置:Laravel默认用email做登录标识,你用user_name的话,需要在User模型里加一行protected $username = 'user_name';;如果密码字段是pass_word而非默认的password,还要在模型里重写密码方法:
    public function getAuthPassword()
    {
        return $this->pass_word;
    }
    
  • 检查密码哈希:注册时必须用Hash::make($request->pass_word)加密密码再存入数据库,要是直接存明文,登录时Auth::attempt()会验证失败。
  • 确认登录逻辑参数:自定义登录逻辑里,Auth::attempt()的参数要写成['user_name' => $request->user_name, 'password' => $request->pass_word],这里第二个键必须是password,因为Laravel认证时会默认用这个键去匹配哈希值。

二、old()辅助函数失效解决

  • 路由必须用web中间件:把登录、注册路由放在routes/web.php里,api.php里的路由不带session,old()依赖session所以会失效。
  • 验证失败后带输入跳转:验证不通过时,必须用back()->withErrors($validator)->withInput()返回,不能直接返回视图,否则旧输入不会被存入session。
  • 表单字段名要匹配:输入框里写value="{{ old('user_name') }}",确保括号里的字段名和表单提交的参数名完全一致,大小写也不能错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:10:27