用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1586|回复: 8
收起左侧

[版本 3.x] 关于做全局登陆认证的问题

[复制链接]
发表于 2017-6-9 08:53:02 | 显示全部楼层 |阅读模式
小弟刚刚借出CI,请问大大们如何做一个全局的登陆认证,而不需要每个函数都去判断是否登陆。
发表于 2017-6-9 10:54:10 | 显示全部楼层
放到父类构造函数里。
 楼主| 发表于 2017-6-9 11:10:43 | 显示全部楼层
Hex 发表于 2017-6-9 10:54
放到父类构造函数里。

我放在父类构造函数 ,如果没有登陆跳转到登陆页面,但是使用return之后,还会继续执行index方法,这个怎么处理呢。
发表于 2017-6-9 11:20:57 | 显示全部楼层
manyi.peng 发表于 2017-6-9 11:10
我放在父类构造函数 ,如果没有登陆跳转到登陆页面,但是使用return之后,还会继续执行index方法,这个怎 ...

这个需要点技巧,比如你可以抛出异常,然后自己写一个处理这个异常的类。可以学习一下 CI4 相关的做法,还是挺巧妙的。
 楼主| 发表于 2017-6-9 11:34:05 | 显示全部楼层
Hex 发表于 2017-6-9 11:20
这个需要点技巧,比如你可以抛出异常,然后自己写一个处理这个异常的类。可以学习一下 CI4 相关的做法, ...

我用的是PHP7.1  CI3.X支持吗? 我现在的做法是在application/core当中加了一个MY_Controller,我的控制器继承这个控制器,然后我在MY_Controller的构造函数加判断,你的意思是让我在构造函数中使用异常机制处理页面跳转是吗?
发表于 2017-6-9 11:37:28 | 显示全部楼层
manyi.peng 发表于 2017-6-9 11:34
我用的是PHP7.1  CI3.X支持吗? 我现在的做法是在application/core当中加了一个MY_Controller,我的控制 ...

CI3 尽量不要用 PHP7 据说是有问题的,PHP7 建议使用 CI4。
发表于 2017-6-9 11:39:12 | 显示全部楼层
manyi.peng 发表于 2017-6-9 11:34
我用的是PHP7.1  CI3.X支持吗? 我现在的做法是在application/core当中加了一个MY_Controller,我的控制 ...

构造函数中如果不用异常,你是无法阻止执行类方法的。或者,你可以使用钩子机制做验证,建议具体看一下 CI 源码。
 楼主| 发表于 2017-6-9 12:49:44 | 显示全部楼层
Hex 发表于 2017-6-9 11:37
CI3 尽量不要用 PHP7 据说是有问题的,PHP7 建议使用 CI4。

文档是否可以在CI 4中也是有效的呢?
发表于 2017-6-9 14:01:29 | 显示全部楼层
manyi.peng 发表于 2017-6-9 12:49
文档是否可以在CI 4中也是有效的呢?

CI4 和 CI3 差别很大,CI4 会有新的文档,目前只有英文的。

本版积分规则