使用 tp3.2.3 框架时报错重定向次数过多
2017-09-26 10:16
375 查看
今天打开项目一访问就报错:重定向次数过多,真尴尬,昨晚还好好的!
清除 cookie 也是无法解决,于是感觉只能是代码逻辑的问题了。
我主要是要做登录的访问控制,访问某个控制器的某个方法时,没登录的话就拒绝访问,直接跳回登录界面。
代码控制单独写在一个控制器 ValidateController.class.php 文件内,该控制器继承基类控制器Controller,然后其他需要做访问控制
的控制器只需继承它就行。
结果本来是很正常的,今天突然就报错了,重定向次数过多,只能检查代码逻辑了,最后终于发现了我在登陆界面方法文件所在控
制器也继承了 ValidateController ,结果导致访问此方法,它自己也要跑去验证,结果没 session['id'] 又跳回此方法,来回往返跳个
不停,真尴尬!!
只需修改前几句代码即可
以后再碰到这种问题,直接跑到登录方法所在控制器查看逻辑即可,主要看其是否也继承了验证访问权限的控制器。(当然这是原因之一)。
清除 cookie 也是无法解决,于是感觉只能是代码逻辑的问题了。
我主要是要做登录的访问控制,访问某个控制器的某个方法时,没登录的话就拒绝访问,直接跳回登录界面。
代码控制单独写在一个控制器 ValidateController.class.php 文件内,该控制器继承基类控制器Controller,然后其他需要做访问控制
的控制器只需继承它就行。
<?php namespace Admin\Controller; use Think\Controller; header('Content-Type:text/html;charset=utf-8;'); class ValidateController extends Controller { public function __Construct(){ parent::__Construct();//调用父类的构造函数. if(empty(session('id'))){//判断是否有登录信息决定其是否能访问 redirect(U('Admin/login')); } } }
结果本来是很正常的,今天突然就报错了,重定向次数过多,只能检查代码逻辑了,最后终于发现了我在登陆界面方法文件所在控
制器也继承了 ValidateController ,结果导致访问此方法,它自己也要跑去验证,结果没 session['id'] 又跳回此方法,来回往返跳个
不停,真尴尬!!
<?php namespace Admin\Controller; header('Content-Type:text/html;charset=utf-8;'); class AdminController extends ValidateController { //登录 public function login(){ if(IS_POST){ //show_bug($_POST); $model = D('Admin'); if($model->validate($model->_loginValidate)->create(I('post.'),9)){ if($model->login()){ redirect(U('Index/index')); exit; } } $this->error($model->getError(),U('Admin/login')); }else{ $this->display(); } }其实这个控制器方法肯定是不能继承验证的控制器的,不然只能访问此 login 方法时先去验证不通过后又返回此方法,如此反复,导致重定向次数过多。。。
只需修改前几句代码即可
以后再碰到这种问题,直接跑到登录方法所在控制器查看逻辑即可,主要看其是否也继承了验证访问权限的控制器。(当然这是原因之一)。
相关文章推荐
- MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
- MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
- MVC中使用ActionFilterAttribute全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
- “重定向次数过多”或者“Too many automatic redirections were attempted”的错误:
- localhost 将您重定向的次数过多
- golang实战使用gin+xorm搭建go语言web框架restgo详解5.2 跳转和重定向
- 当出现此问题时,192.168.1.24 将您重定向的次数过多。 尝试清除 Cookie.
- 【web开发】:localhost 将您重定向的次数过多
- zf框架的session会话周期及次数限制使用示例
- 使用Glide框架时报出,java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
- CAS客户端请求重定向次数过多导致请求失败
- Error creating bean with name 'cn.e3mall.sso.service.RegisterService’——使用SSM框架时报的错误
- agileone安装登陆报错,localhost重定向次数过多
- 使用vue框架运行npm run dev 时报错解决
- ThinkPHP框架使用redirect实现页面重定向的方法实例分析
- 使用Butter Knife 框架时报NullPointerException(Android studio或者IntelliJ IEDA开发,eclipse结构工程)
- 使用vue框架运行npm run dev 时报错解决
- zf框架的session会话周期及次数限制使用示例
- [学习笔记]agileone安装登陆报错,localhost重定向次数过多
- 使用xfire框架,构造入参是List类型的webservice,在部署时报错