auth控制按钮显示

浏览:3325 发布日期:2015/08/12 分类:技术分享 关键字: auth 权限
经常碰到权限问题,今天也写了个很烂的,分享出来,希望大神提供,修改意见
如下为function的代码function check_user_rule($url){
    $user = session(C('ADMIN_USER_ID'));
    $uid=$user['uid'];//当前登录的用户id
    //(2)判断是否是超级管理员
    if($uid==C('ADMINISTRATOR')){
        return true;
    }
    //(3)判断结点权限
    $auth_list=array();
    $where = array(
        'uid' => $uid
    );
    //查询到分组id
    $group_id = M('group_access')->where($where)->getField('group_id');
    if($group_id){
        $where = array(
            'id' => $group_id,
            'status' => 1
        );
        //查询拥有该组权限的id字符串
        $rulesStr = M('group')->where($where)->getField('rules');
        //将字符串转为数组
        $authID = explode(',',$rulesStr);
        if($authID['0'] == 0){/** 本行为我的程序带的可以无视**/
            unset($authID[0]);
        }
        $where = array(
            'id' => array('in',$rulesStr)
        );
        //查询所有规则
        $urlList = M('auth_cate')->where($where)->getField('name',true);
    }else{
        return false;
    }
    //判断规则
    if(in_array($url,$urlList)){
        return true;
    }else{
        return false;
    }
}
如下为模板里面的代码,如果有权限则显示,没有权限则无法点击<if condition="check_user_rule('Admin/usergroup')">
                      <a href="{:U('usergroup',array('id'=>$vo['id']))}" >分组</a>
                                <else/>
                                    <a style="color:#999">分组</a>
            </if>
如下为效果图:
最佳答案
评论( 相关
后面还有条评论,点击查看>>