用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

用户管理系统(RBAC)

2015-01-15 作者: 云代码会员举报

[php]代码库

<?php
class RbacAction extends CommonAction{
 
    public function addRole(){
        $this->display();
    }
 
    //添加角色表单处理
    public function addRoleHandle(){
        if(M('Role')->add($_POST)){
            $this->success('添加成功!',U('rbac/addrole'));
        }
    }
 
    //角色管理(角色列表)
    public function roleList(){
        $this->role=M('Role')->select();
        $this->display();
    }
 
    // 添加权限(节点)
    public function addNode(){
        $this->node=M('Node')->where('level!=3')->order('sort')->select();
        $this->display();
    }
 
    // 添加节点表单处理
    public function addNodeHandle(){
        $node=M('Node');
        $node->create();
        if($node->add()){
            $this->success('添加成功!',U('rbac/nodeList'));
        }
    }
 
    // 权限管理(节点列表)
    public function nodeList(){
        import('ORG.Util.Tree');
        $node=M('Node')->order('sort')->select();
        $this->node=Tree::create($node);
        $this->display();
    }
 
    //删除权限(节点)
    public function deletenode(){
        if(M('Node')->where('id='.I('id','',int))->delete()){
            $this->success('删除成功!',U('rbac/nodeList'));
        }
    }
 
    public function addUser(){
        $this->role=M('Role')->select();
        $this->display();
    }
 
    //添加用户处理
    public function addUserHandle(){
        $data['username']=I('username');
        $data['password']=I('password','','md5');
        $data['logintime']=time();
        $data['loginip']=get_client_ip();
        $data['status']=1;
        $uid=M('User')->add($data);
        if($uid){
            //用户添加成功后添加用户角色表
            $role['role_id']=I('role_id','',int);
            $role['user_id']=$uid;
            $this->success('添加成功!',U('rbac/addUser'));
        }else{
            $this->error('添加失败!');
        }
    }
 
    //用户列表
    public function userList(){
        $this->user=D('User')->field('password',true)->relation(true)->select();
        $this->display();
    }
 
    //配置权限
    public function access(){
        import('ORG.Util.Tree');
        $rid=I('rid','',int);
        $node=M('Node')->order('sort')->select();
        $this->node=Tree::create($node);
 
        $data=array();//$data用于存放最新数组,里面包含当前用户组是否有每一个权限
        $access=M('Access');
        foreach ($node as $value) {
            $count=$access->where('role_id='.$rid.' and node_id='.$value['id'])->count();
            if($count){
                $value['access']=1;
            }else{
                $value['access']=0;
            }
            $data[]=$value;
        }
        $this->nodelist=$data;
        $this->rid=$rid;
        $this->name=M('Role')->getFieldById($rid,'name');
        $this->display();
    }
 
    //添加角色-权限表(节点表)
    public function setAccess(){
        $rid=I('rid','',int);
        $access=M('Access');
        $access->where('role_id='.$rid)->delete();//清空当前角色的所有权限
         
        if(isset($_POST['access'])){
            $data=array();
            foreach($_POST['access'] as $value){
                $tmp=explode('_', $value);
                $data[]=array(
                    'role_id'=> $rid,
                    'node_id'=> $tmp[0],
                    'level'  => $tmp[1],
                );
            }
            if($access->addAll($data)){
                $this->success('修改成功!',U('rbac/addRole'));
            }else{
                $this->error('修改失败!',U('rbac/access'),60);
            }
        }else{
            $this->error('修改失败!');
        }
    }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...