CorsExtension.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. using Microsoft.Extensions.Configuration;
  2. using Microsoft.Extensions.DependencyInjection;
  3. using System;
  4. namespace Infrastructure
  5. {
  6. /// <summary>
  7. /// 跨域扩展
  8. /// </summary>
  9. public static class CorsExtension
  10. {
  11. /// <summary>
  12. /// 跨域配置
  13. /// </summary>
  14. /// <param name="services"></param>
  15. /// <param name="configuration"></param>
  16. public static void AddCors(this IServiceCollection services, IConfiguration configuration)
  17. {
  18. var corsUrls = configuration.GetSection("corsUrls").Get<string[]>();
  19. //配置跨域
  20. services.AddCors(c =>
  21. {
  22. c.AddPolicy("Policy", policy =>
  23. {
  24. policy.WithOrigins(corsUrls ?? Array.Empty<string>())
  25. .AllowAnyHeader()//允许任意头
  26. .AllowCredentials()//允许cookie
  27. .AllowAnyMethod();//允许任意方法
  28. });
  29. });
  30. }
  31. }
  32. }