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

[URL] FX_Auth问题,大家帮下忙,谢谢了

[复制链接]
发表于 2013-6-3 10:40:20 | 显示全部楼层 |阅读模式
最近用fx_auth写一个小后台,涉及到权限问题,在网站放入$this->fx_auth->check_uri_permissions();直接就报错了,报错内容如下

QQ图片20130603103805.jpg
fx_auth报错的代码如下

        function get_permissions_value($key, $array_key = 'default')
        {
                $result = array();
               
                $role_id = $this->ci->session->userdata('fx_role_id');
                $role_name = $this->ci->session->userdata('fx_role_name');
               
                $parent_roles_id = $this->ci->session->userdata('fx_parent_roles_id');
                $parent_roles_name = $this->ci->session->userdata('fx_parent_roles_name');
               
                // Get current user permission
                $value = $this->get_permission_value($key, FALSE);
               
                if ($array_key == 'role_id')
                {
                        $result[$role_id] = $value;
                }
                elseif ($array_key == 'role_name')
                {
                        $result[$role_name] = $value;
                }
                else
                {
                        array_push($result, $value);
                }
               
                // Get current user parent permissions
                $parent_permissions = $this->ci->session->userdata('fx_parent_permissions');
               
                $i = 0;
                foreach ($parent_permissions as $permission)
                {
                        if (array_key_exists($key, $permission))
                        {
                                $value = $permission[$key];
                        }
                       
                        if ($array_key == 'role_id')
                        {
                                // It's safe to use $parents_roles_id[$i] because array order is same with permission array
                                $result[$parent_roles_id[$i]] = $value;
                        }
                        elseif ($array_key == 'role_name')
                        {
                                // It's safe to use $parents_roles_name[$i] because array order is same with permission array
                                $result[$parent_roles_name[$i]] = $value;
                        }                       
                        else
                        {
                                array_push($result, $value);
                        }
                       
                        $i++;
                }
               
                // Trigger event
                $this->ci->dx_auth_event->got_permissions_value($this->get_user_id(), $key);
               
                return $result;
        }

        function get_permission_value($key, $check_parent = TRUE)
        {
                // Default return value
                $result = NULL;
       
                // Get current user permission
                var_dump($this->ci->session->userdata);
                $permission = $this->ci->session->userdata('fx_permission');
               
                // Check if key is in user permission array
                if (array_key_exists($key, $permission))
                {
                        $result = $permission[$key];
                }
                // Key not found
                else
                {
                        if ($check_parent)
                        {
                                // Get current user parent permissions
                                $parent_permissions = $this->ci->session->userdata('fx_parent_permissions');
                               
                                // Check parent permissions array                               
                                foreach ($parent_permissions as $permission)
                                {
                                        if (array_key_exists($key, $permission))
                                        {
                                                $result = $permission[$key];
                                                break;
                                        }
                                }
                        }
                }
               
                // Trigger event
                //$this->ci->dx_auth_event->got_permission_value($this->get_user_id(), $key);
               
                return $result;
        }



行号中的貌似都是  session的问题?我输出没任何内容,求救,最后一点了,大家帮下忙啊,谢谢了
发表于 2013-6-3 12:14:27 | 显示全部楼层
session 有问题的话,用我发布的 Session 类库
 楼主| 发表于 2013-6-3 12:28:06 | 显示全部楼层
Hex 发表于 2013-6-3 12:14
session 有问题的话,用我发布的 Session 类库

http://codeigniter.org.cn/forums/thread-330-1-1.html   是这个吗?
发表于 2013-6-3 12:29:05 | 显示全部楼层
彼岸小飞 发表于 2013-6-3 12:28
http://codeigniter.org.cn/forums/thread-330-1-1.html   是这个吗?

这个 http://codeigniter.org.cn/forums/thread-4007-1-1.html
 楼主| 发表于 2013-6-3 12:32:08 | 显示全部楼层
Hex 发表于 2013-6-3 12:29
这个 http://codeigniter.org.cn/forums/thread-4007-1-1.html

不支持数据库储存吗?  这样的话    fx_auth会不会报错啊?
 楼主| 发表于 2013-6-3 12:36:00 | 显示全部楼层
Hex 发表于 2013-6-3 12:29
这个 http://codeigniter.org.cn/forums/thread-4007-1-1.html

另外就是    FX_auth自带的程序 登陆后会写入session的吗?  我的貌似没写入的,写入的就只有几行,另外我自己检索数据库写入session后   调用出来有数据,还是错误,不知道为啥,纠结死我了
发表于 2013-6-3 12:57:03 | 显示全部楼层
彼岸小飞 发表于 2013-6-3 12:32
不支持数据库储存吗?  这样的话    fx_auth会不会报错啊?

不支持数据库存储。
如果 fx_auth 需要数据库,那就没办法了。
发表于 2013-6-3 12:57:35 | 显示全部楼层
彼岸小飞 发表于 2013-6-3 12:36
另外就是    FX_auth自带的程序 登陆后会写入session的吗?  我的貌似没写入的,写入的就只有几行,另外 ...

我没有使用过 fx_auth 不太清楚你的问题。
 楼主| 发表于 2013-6-3 13:27:14 | 显示全部楼层
Hex 发表于 2013-6-3 12:57
我没有使用过 fx_auth 不太清楚你的问题。

哦,好吧,纠结了,哎,最后一点了,都把权限什么的都写好了,就差这句话了

本版积分规则