• rbac


    //登陆控制器   
    function  actionLogin(){
            $name=Yii::$app->request->post("name");
    
            $pass=Yii::$app->request->post("pass");
           $res= Yii::$app->db->createCommand("select * from user where name='$name' and pass='$pass'")->queryOne();
    
           if ($res){
                 $session=Yii::$app->session;
                $session->set("uid",$res['id']);
                 $id=$res['id'];
    
             $sql=Yii::$app->db->createCommand("SELECT * from user join u_t on  `user`.id=u_t.u_id join teacher on u_t.t_id=teacher.id JOIN t_p  on teacher.id=t_p.t_id join power on t_p.p_id=power.id where `user`.id=$id")->queryAll();
    
             $session->set("power",json_encode($sql));
             return $this->redirect(["one/show"]);
    
           }else{
               echo "<a href='add'>登陆失败</a>";
           }
        }
    //权限控制器 
      function  init()
        {
          $session=Yii::$app->session;
          $id=$session->get("uid");
    
         if (empty($id)){
             echo "<a href='/mon/add'>权限不足</a>";
         }
    
         $power= $session->get("power");
          $power= json_decode($power);
         foreach ($power as $k=>$v){
                 $arr[]=$v->controller.'/'.$v->function;
         }
          $res=Yii::$app->requestedRoute;
    
         if (!in_array($res,$arr)){
         echo "<a href='/mon/add'>权限不足</a>";die;
         }
    
        }
    
    
        function   actionShow(){
           $session=Yii::$app->session;
           $data=$session->get("power");
           $arr=json_decode($data,1);
    
          $res= $this->gettree($arr,0);
          return   $this->render("show",["res"=>$res]);
        }
    
    
       function  gettree($data,$pid){
             $tree=[];
            foreach ($data as $k=>$v){
                 if ($v['pid']==$pid){
                     $v['son']=$this->gettree($data,$v['id']);
                     $tree[]=$v;
                 }
            }
            return $tree;
       }
    //权限展示
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
     <table>
         <?php  foreach ($res as $key=>$value){?>
        <tr>
            <?php  echo  $value['power'] ?><br>
            <?php  foreach ($value['son'] as $k=>$v){?>
                 <a href="<?php echo $v['function'] ?>"><?php  echo  $v['power'] ?><br></a>
    
                 </tr>
             <?php  }?>
      <?php  }?>
    
    
    
     </table>
    </body>
    </html>
  • 相关阅读:
    usb驱动开发6之端点描述符
    usb驱动开发5之总线设备与接口
    usb驱动开发4之总线设备驱动模型
    usb驱动开发3之先看core
    usb驱动开发2之代码地图
    usb驱动开发1之学习准备
    javascript限制上传文件大小
    google Chrome打开多个网站时等待可用的套接字,怎么加大连接数量提升速度
    sql将一张表的字段赋值给另一张表
    百度搜索网址参数的含义
  • 原文地址:https://www.cnblogs.com/maohongli/p/11207190.html
Copyright © 2020-2023  润新知