但问题来了:同样是管理员权限,都可以修改单位(企业)名称,但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;
}
}
}
最佳答案