這篇文章主要為大家展示了“web開發(fā)中rbac的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“web開發(fā)中rbac的示例分析”這篇文章吧。
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)服務(wù),網(wǎng)站設(shè)計,綿陽服務(wù)器托管等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)建站。
//登陸控制器
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"
}
}
//權(quán)限控制器
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"
}
}
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;
}
//權(quán)限展示
content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">