initialize方法重定向无限循环问题解决方案
由于在 initialize 方法中进行重定向而造成的重定向循环。当 session('?user_id') 检查失败时,你的代码会尝试重定向到登录页面。如果登录页面或者处理登录的控制器也继承自同一个基类(或者有类似的 initialize 检查),这将导致每次尝试访问登录页面时都会再次执行重定向,从而陷入无限循环。
解决方案
当运行user/login时候不会运行initialize方法的判断session部分,直接返回了
protected function initialize()
{
parent::initialize();
// 获取当前控制器和方法名
$controller = request()->controller();
$action = request()->action();
// 排除登录页面的会话检查
if ($controller == 'User' && $action == 'login') {
return;
}
if (!session('?user_id')) {
redirect('user/login')->send();
exit;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2023-04-23 php按照首字母排序,PHP获取汉字首字母并分组排序
2021-04-23 layui框架引入TP教程
2021-04-23 经典isset,empty,is_null三个的用法与区别,最详细的讲解