网站首页 laravel框架
权限系统的设计与分享
发布时间:2016-05-06 04:49查看次数:5081
简单类型的权限分配
用配置类型写入数据库
例如:
经理
发布产品
产品编辑
产品分析
产品
栏目编辑
栏目发布
栏目删除
客服
客服答复
客服工单
基于模块化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.前台展示
源码在这里
关键字词:权限系统的设计与分享