web开发中rbac的示例分析

这篇文章主要为大家展示了“web开发中rbac的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“web开发中rbac的示例分析”这篇文章吧。

创新互联建站网站建设服务商,为中小企业提供成都网站制作、网站建设、外贸网站建设服务,网站设计,绵阳服务器托管等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联建站

//登陆控制器

functionactionLogin(){

$name=Yii::$app->request->post("name");

$pass=Yii::$app->request->post("pass");

$res=Yii::$app->db->createCommand("select*fromuserwherename='$name'andpass='$pass'")->queryOne();

if($res){

$session=Yii::$app->session;

$session->set("uid",$res['id']);

$id=$res['id'];

$sql=Yii::$app->db->createCommand("SELECT*fromuserjoinu_ton`user`.id=u_t.u_idjointeacheronu_t.t_id=teacher.idJOINt_ponteacher.id=t_p.t_idjoinpoweront_p.p_id=power.idwhere`user`.id=$id")->queryAll();

$session->set("power",json_encode($sql));

return$this->redirect(["one/show"]);

}else{

echo"登陆失败";

}

}

//权限控制器

functioninit()

{

$session=Yii::$app->session;

$id=$session->get("uid");

if(empty($id)){

echo"权限不足";

}

$power=$session->get("power");

$power=json_decode($power);

foreach($poweras$k=>$v){

$arr[]=$v->controller.'/'.$v->function;

}

$res=Yii::$app->requestedRoute;

if(!in_array($res,$arr)){

echo"权限不足";die;

}

}

functionactionShow(){

$session=Yii::$app->session;

$data=$session->get("power");

$arr=json_decode($data,1);

$res=$this->gettree($arr,0);

return$this->render("show",["res"=>$res]);

}

functiongettree($data,$pid){

$tree=[];

foreach($dataas$k=>$v){

if($v['pid']==$pid){

$v['son']=$this->gettree($data,$v['id']);

$tree[]=$v;

}

}

return$tree;

}

//权限展示

content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

Document

$value){?>


$v){?>

">

以上是“web开发中rbac的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页标题:web开发中rbac的示例分析
文章地址:http://azwzsj.com/article/jppgig.html