AdminCheckToken.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\adminapi\middleware;
  12. use app\Request;
  13. use app\service\admin\auth\AuthService;
  14. use app\service\admin\auth\LoginService;
  15. use Closure;
  16. /**
  17. * admin用户登录token验证
  18. * Class AdminCheckToken
  19. * @package app\adminapi\middleware
  20. */
  21. class AdminCheckToken
  22. {
  23. public function handle(Request $request, Closure $next, bool $is_home = false)
  24. {
  25. //通过配置来设置系统header参数
  26. $token = $request->adminToken();
  27. $token_info = (new LoginService())->parseToken($token);
  28. $request->uid($token_info['uid']);
  29. $request->username($token_info['username']);
  30. if(!$is_home){
  31. //校对当前登录的用户是否拥有这个站点的管理权限
  32. (new AuthService())->checkSiteAuth($request);
  33. }
  34. return $next($request);
  35. }
  36. }