CodeIgniter 中英文搜索引擎:
返回列表 发帖

[HELP] 请教各位,ci有没有类似struts的拦截器功能那

本人刚接触php,使用ci作一个公司内部的系统,需要用类似拦截器的功能,检测session里登陆信息的验证。ci是用什么实现的?hook能指定作用对象吗?

TOP

登录正确的时候写session信息。
PHP
 
$this->load->library('session');
$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );
 
$this->session->set_userdata($newdata);
 
 
复制代码

验证的时候:
PHP
 
if( $this->session->userdata('logged_in')){
echo "login success";
}
else
{
redirect("user/login");
}
 
复制代码


可以把这段代码写成一个函数,在只有登录后才能访问的页面里调用这个函数就可以了。
http://www.baiyuxiong.com

TOP

2楼给的方法是不错,但我觉得实际效果并不会很好,因为这种做法是用户不知道自己有无权限,点了再说,出错了才知道没权限,通常都会要求对无权限的用户操作按钮不可见。3楼提供的方法可以说是没有办法的办法了,其实我觉得hook很接近我的需求了,只是他的作用范围实在太不方便了,能设置hook只对某几个control作用吗?

TOP

这就是 ACL 类库应该做的事情,是先验证还是后验证,就是页面呈现问题了。
不一定用 HOOK
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com

TOP

2楼给的方法是不错,但我觉得实际效果并不会很好,因为这种做法是用户不知道自己有无权限,点了再说,出错 ...
t2money11 发表于 2010-2-9 09:35



  为什么说实际效果不好呢...改下页面显示就行了...其他PHP框架也这样子处理.

TOP

返回列表