网页提示:此网页生成了过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决此问题。如果不能解决,可能是服务器配置有问题,而不是您的计算机有问题。
一个网站,分为前台和后台,都需要各自的帐号密码登录。
为了保存登录状态,我把登录信息session存在cookie里,设置cookie的过期时间无限长,如果session过期就从cookie中取出登录信息进行验证登录。
前台没有任何问题,可以自动登录,后台在关闭浏览器session失效后再进入,提示:此网页生成了过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决此问题。如果不能解决,可能是服务器配置有问题,而不是您的计算机有问题。
前后台的代码基本是一样的:
检测session是否存在,session存在直接进入
session不存在,检测cookie,通过cookie获取登录信息登录。信息正确进入,信息错误跳转至登录界面。
session和cookie都不存在,跳转至登录界面。
//验证是否登录
public function _initialize(){
$session=session('uid');
$cookie=cookie('auto');
//session失效 cookie失效
if(!isset($session) AND !isset($cookie)){
$this->redirect('Login/login',array(),1,'请先登录');
exit;
}
//session失效 cookie有效
if(!isset($session) AND isset($cookie)){
//使用cookie登录
$AdminModel=D('Admin/Admin');
$result=$AdminModel->login($cookie);
if($result>0){//登录成功
//判断管理员身份
if($result==1){//超级管理员
$this->redirect("Task/task1");
exit;
}elseif($result>1){//普通管理员
$this->redirect("Eat/displayEat");
exit;
}
} else {//登录失败 cookie中的信息不可用
$this->redirect('Login/login',array(),1,'登录信息已改变,请重新登录');
exit;
}
}
不知道你的
Login/login
方法是否继承了_initialize()
?如果继承了,必然重定向变成死循环!