AuthMini.php 858 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\AdminUserModel;
  4. use Closure;
  5. use Illuminate\Support\Facades\Auth;
  6. class AuthMini
  7. {
  8. /**
  9. * Handle an incoming request.
  10. *
  11. * @param \Illuminate\Http\Request $request
  12. * @param \Closure $next
  13. * @return mixed
  14. */
  15. public function handle($request, Closure $next)
  16. {
  17. if(in_array($request->path(), ['api/mini/login', 'api/mini/reset', 'api/mini/test'])) return $next($request);
  18. $token = $request->header('X-Token');
  19. if($token) {
  20. $admin_user = AdminUserModel::where('token', $token)->first();
  21. if(!empty($admin_user)) {
  22. Auth::guard('admin')->login($admin_user);
  23. return $next($request);
  24. }
  25. }
  26. return response()->json(['code' => -1, 'msg' => '请先登录']);
  27. }
  28. }