这篇文章主要为大家展示了“web开发中rbac的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“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"<ahref='add'>登陆失败</a>";
}
}
//权限控制器
functioninit()
{
$session=Yii::$app->session;
$id=$session->get("uid");
if(empty($id)){
echo"<ahref='/mon/add'>权限不足</a>";
}
$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"<ahref='/mon/add'>权限不足</a>";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;
}
//权限展示
<!doctypehtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"
content="width=device-width,user-Scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
<metaHttp-equiv="X-UA-Compatible"content="ie=edge">
<title>Document</title>
</head>
<body>
<table>
<?PHPforeach($resas$key=>$value){?>
<tr>
<?phpecho$value['power']?><br>
<?phpforeach($value['son']as$k=>$v){?>
<ahref="<?phpecho$v['function']?>"><?phpecho$v['power']?><br></a>
</tr>
<?php}?>
<?php}?>
</table>
</body>
</html>
以上是“web开发中rbac的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!
--结束END--
本文标题: web开发中rbac的示例分析
本文链接: https://www.lsjlt.com/news/96647.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0