网站首页 laravel框架
权限系统的设计与分享
发布时间:1970-01-01 00:00查看次数:5093
简单类型的权限分配
用配置类型写入数据库
例如:
经理
发布产品
产品编辑
产品分析
产品
栏目编辑
栏目发布
栏目删除
客服
客服答复
客服工单
基于模块化ul 编辑
示例代码:
$account = array(1,2,3); //分别代表客服 产品 产品经理权限
$kefu ="客服";
$chanpin="产品";
$jingli="经理";
$userlogin= 'lisi,3'; //用户登陆返回登陆权限3
if($userlogin == in_array($account, 3)){
return $jingli;
}
复杂一点的示例如下
1.数据库设计
2.代码实现
input();
if(!empty($input_data)){
$this->validate($req,[
'power_title'=>'required', //权限名字
'power_comment'=>'required' , //权限说明
'power_content'=>'required' , //权限路由
]);
//验证通过插入数据库
$acc_text = new Acc_textModel();
$acc_text->power_title = $req->input('power_title');
$acc_text->power_comment = $req->input('power_comment');
$acc_text->power_content = $req->input('power_content');
$zt = $acc_text->save();
if($zt){
return redirect('acclist');
}else{
return back();
}
}else{
return view('acc.acc_add');
}
}
//显示全部权限列表
public function acc_list(){
$acc_data = Acc_textModel::get();
return view('acc.acc_list',compact('acc_data'));
}
//权限分组
public function acc_group(){
return view('acc.acc_group');
}
//添加分组
public function acc_addgroup(Request $req){
$input_data = $req->input();
if(!empty($input_data)){
//根据group的值来判断客户端操作是获取
if($input_data['group']=='get'){
$data = Acc_groupModel::get();
$tmp['zt']='成功!';
$tmp['data']=$data;
return json_encode($tmp);
}
//不是获取是增加!
$group = new Acc_groupModel();
$group->group = $input_data['group'];
$zt = $group->save();
if($zt){
$data = Acc_groupModel::get();
$tmp['zt']='成功!';
$tmp['data']=$data;
return json_encode($tmp);
}else{
$tmp['zt']='失败!';
return json_encode($tmp);
}
}else{
return json_encode([]);
}
}
//修改分组权限
public function acc_groupedit(){
$acc_data = Acc_textModel::get(); //权限数据
$acc_group =Acc_groupModel::get(); //权限分组
return view('acc.acc_groupedit',compact('acc_data','acc_group'));
}
public function acc_grouppost(Request $req){
$input_data = $req->input();
$outdata = array(); //用于json返回的数据存储
if( !empty($input_data)){
$row = Acc_groupModel::find($input_data['id']);
$tmparray= explode(',',$row->power_text);
$newdata = in_array($input_data['power_text'],$tmparray);
if($newdata){
return json_encode(['zt'=>'已获取的权限!']);
}
$row->power_text =$row->power_text.$input_data['power_text'].','; //字符串存储加上逗号方便查询时间分割数组
$zt = $row->save();
if($zt){
$outdata['zt']= '权限添加成功!';
return json_encode($outdata);
}else{
$outdata['zt']= '权限添加失败!';
return json_encode($outdata);
}
}else{
return json_encode([]);
}
}
}3.前台展示



关键字词:权限系统的设计与分享