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

我在看stblog里的登录权限代码。。。有个地方不太懂,求解

[复制链接]
发表于 2011-9-9 16:53:08 | 显示全部楼层 |阅读模式
本帖最后由 yanqing 于 2011-9-9 16:54 编辑

这是后台其中一个控制器
PHP复制代码
 
public function index()
        {
                $this->auth->exceed('contributor');
               
                $this->load->view('admin/profile', $this->_data);
        }
 
复制代码

这是auth.php的exceed
PHP复制代码
 
public function exceed($group, $return = false)
        {
                /** 权限验证通过 */
        if(array_key_exists($group, $this->groups) && $this->groups[$this->_user['group']] <= $this->groups[$group])
                {
            return TRUE;
        }
               
                /** 权限验证未通过,同时为返回模式 */
                if($return)
                {
                        return FALSE;
                }
               
                /** 非返回模式 */
                show_error('禁止访问:你的权限不足');
                return;
        }
 
复制代码


我看不懂这个控制器是怎样跳回登录页的(在没有登录的情况下),是这个$this->auth->exceed('contributor');起作用吗?但是,在exceed里的代码我也看不到跳转的代码。求解释下
发表于 2011-9-9 20:15:39 | 显示全部楼层
第二个参数默认为false,验证失败就会执行show_error函数,你看以去看下这个函数的详细

没登陆自然就验证失败,具体你可以看下anth这个类的成员变量以及其的作用。

评分

参与人数 1威望 +4 收起 理由
saturn + 4 发言人啊,大大。握个手。

查看全部评分

 楼主| 发表于 2011-9-10 10:12:37 | 显示全部楼层
本帖最后由 yanqing 于 2011-9-10 10:32 编辑
jeongee 发表于 2011-9-9 20:15
第二个参数默认为false,验证失败就会执行show_error函数,你看以去看下这个函数的详细

没登陆自然就验证 ...

原来没仔细看。。。profile控制器是继承自己写的ST_Auth_Controller的。。。里面就有haslogin判断

本版积分规则