AdminAuthMiddleware.php 846 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\User;
  4. use App\Modules\Admin\Services\AuthService;
  5. use Closure;
  6. use Illuminate\Auth\AuthenticationException;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Auth;
  9. class AdminAuthMiddleware
  10. {
  11. public function handle(Request $request, Closure $next)
  12. {
  13. $token = $request->header('Authorization');
  14. if (empty($token)) {
  15. throw new AuthenticationException("need authorization");
  16. }
  17. $uid = app(AuthService::class)->decryptToken(substr($token, 7));
  18. $u = User::findOrFail($uid);
  19. Auth::login($u);
  20. logger()->info("admin operation log", [
  21. "url" => $request->url(),
  22. "method" => $request->method(),
  23. "request" => $request->all(),
  24. ]);
  25. return $next($request);
  26. }
  27. }