1234567891011121314151617181920212223242526
  1. <?php
  2. //权限控制
  3. \think\Hook::add('check_auth','app\\common\\behavior\\AuthenticateBehavior');
  4. use think\Db;
  5. /**
  6. * 判断操作权限
  7. * @author Michael_xu
  8. * @param
  9. * @return
  10. */
  11. function checkWorkPerByAction($m, $c, $a, $param)
  12. {
  13. $user_id = $param['user_id'];
  14. $group_id = $param['group_id'];
  15. $mRuleId = db('admin_rule')->where(['name'=>$m,'level'=>1])->value('id');
  16. $cRuleId = db('admin_rule')->where(['name'=>$c,'level'=>2,'pid'=>$mRuleId])->value('id');
  17. $aRuleId = db('admin_rule')->where(['name'=>$a,'level'=>3,'pid'=>$cRuleId])->value('id');
  18. $resGroup = db('admin_group')->where(['id' => $group_id,'rules' => ['like','%,'.$aRuleId.',%']])->find();
  19. if ($resGroup) {
  20. return true;
  21. }
  22. return false;
  23. }