关于同级不同单位权限的管理问题

浏览:411 发布日期:2017/06/21 分类:求助交流
在做一些单一功能的项目时,为了让多个单位可以使用同一个项目资源,我仅仅使用一个字段让用户归属于某个企业ID下。

但问题来了:同样是管理员权限,都可以修改单位(企业)名称,但A单位的管理员只能修改A企业的信息,不能修改到B单位的。

而修改企业信息,一般通过get方式进入修改,从Auth权限认证上看,A和B都具有进入修改企业信息页面的权力,但他们是不同企业的,请问,这样的权限认证大家是如何划分的?

我的解决方法很笨,每次进入修改页面的时候,查询判断他们的session(企业id)是否与欲修改的企业ID相等……但仍然很多烦恼:不同部门也涉及到这个问题,企业管理员与部门管理员交叉管理的时候更繁琐……

因此跪求简单的解决方案!

=================
我目前的解决方案是:
public function checkEditRight($gradeid){
if(session('groupid')==1){ //超级管理员直接通过
return true;
}
if(session('groupid')==2){
$grade = M(CONTROLLER_NAME) -> find($gradeid);
if(session('sid')==$grade['sid']){ //企业管理员必须是自己的企业ID,部门不受限制
return true;
}else{
return false;
}
}
if(session('groupid')==3){
if($gradeid==session('gradeid')){ //部门管理员不仅必须是自己的企业ID,还必须是自己的部门ID
return true;
}else{
return false;
}
}
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>