ManageAuth.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace app\common\middleware;
  3. //验证权限
  4. class ManageAuth
  5. {
  6. public function handle($request, \Closure $next)
  7. {
  8. // 设置演示模式,演示模式下无法修改配置
  9. $request->demonMode=env('app.demon_mode',false);
  10. if($request->userInfo['user_id']!=1){
  11. if(!$request->demonMode){
  12. if($request->userInfo['role']==0){
  13. shutdown(lang('system.notAuth'),-1);
  14. }
  15. }else{
  16. $rules=[
  17. 'user/add',
  18. 'user/edit',
  19. 'user/del',
  20. 'user/setrole',
  21. 'user/setstatus',
  22. 'user/editpassword',
  23. 'group/del',
  24. 'group/changeowner',
  25. 'group/delgroupuser',
  26. 'task/starttask',
  27. 'task/stoptask',
  28. 'config/setconfig',
  29. 'index/publishnotice',
  30. 'index/delnotice',
  31. 'message/dealmsg',
  32. ];
  33. // 获取pathinfo信息
  34. $pathinfo = strtolower($request->pathinfo());
  35. if(in_array($pathinfo,$rules)){
  36. return shutdown(lang('system.demoMode'),400);
  37. }
  38. }
  39. }
  40. return $next($request);
  41. }
  42. }