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

Laravel5.1登录后跳转正常但自动退回到登录页问题排查

问题定位与修复方案

核心问题1:冗余的登录态操作破坏session存储

Auth::attempt()执行成功后Laravel已经自动完成登录逻辑,将用户身份信息写入session。你后续调用的\Auth::setUser($user)仅会修改当前请求内存中的用户实例,不会同步更新session,甚至会覆盖已写入的登录标识,导致后续请求无法读取有效登录态。

修复方案:直接删除以下两行冗余代码:

$user = User::find(\Auth::id());
\Auth::setUser($user);

核心问题2:目标路由组缺少session中间件

Laravel 5.1 默认所有路由会加载session中间件,如果你将admin_messages放在了新增的自定义路由组中,且该路由组排除了session中间件,就会导致目标页面请求无法读取session中的登录信息,被判定为未登录。

修复方案:检查app/Http/routes.php中admin_messages所属路由组配置,确保该组加载了Illuminate\Session\Middleware\StartSession中间件。

优化建议(可选,规避额外问题)

你可以直接复用Auth::attempt()返回的用户实例,避免手动查询数据库,同时用increment方法简化计数逻辑,也能规避login_count未加入$fillable导致的保存失败问题:

if (\Auth::attempt(array('email' => $input['email'], 'password' => $input['password']))){
    $user = \Auth::user();
    $user->increment('login_count');
    
    return \Redirect::route('admin_messages');
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:54:02