master
bicijinlian 4 years ago
parent 33033c54c0
commit ff9ec59e2c

@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>iFrame Tab Demo</title>
<title>CORS跨域 客户端</title>
<script type="text/javascript" src="Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript" src="Scripts/jquery.cookie.js"></script>
<script>
@ -48,9 +48,9 @@
<div id="MenuLinks">
<ul>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="http://localhost:5000/api/Test/Ping">简单API</li>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="https://www.hao123.com">好123</li>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="https://www.360.com">360</li>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="https://www.qq.com">QQ</li>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="http://localhost:5000/api/Cors/Ping">全局跨域策略</li>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="http://localhost:5000/api/Cors/NoCors">不允许跨域</li>
<li method="GET" dataType="json" contentType="application/x-www-form-urlencoded" url="http://localhost:5000/api/Cors/HasCors">单独明确可以跨域</li>
</ul>
</div>
<pre id="ContentBox">

@ -38,6 +38,7 @@ namespace CorsServer.WebApi31.Controllers
[HttpGet]
[HttpOptions]
[DisableCors]
public IActionResult NoCors()
{
var data = new { Code = 0, Messge = "不允许跨域" };

@ -21,7 +21,8 @@ namespace CorsServer.WebApi31
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder
.UseStartup<Startup>();
});
}
}

@ -25,13 +25,15 @@ namespace CorsServer.WebApi31
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(setup =>
{
setup.AddPolicy(CorsName, build =>
{
build.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().WithExposedHeaders("x-custom-error");
});
});
#region Config
services.Configure<CorsOption>();
#endregion
#region CORS
AddCors_1(services);
//AddCors_2(services);
//AddCors_3(services);
//AddCors_4(services);
#endregion
services.AddControllers();
}
@ -56,5 +58,60 @@ namespace CorsServer.WebApi31
endpoints.MapControllers();
});
}
private IServiceCollection AddCors_1(IServiceCollection services)
{
services.AddCors(setup =>
{
setup.AddPolicy(CorsName, build =>
{
build
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.WithExposedHeaders("x-custom-error");
});
});
return services;
}
private IServiceCollection AddCors_2(IServiceCollection services)
{
services.AddCors(setup =>
{
setup.AddPolicy(CorsName, build =>
{
build.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().WithExposedHeaders("x-custom-error");
});
});
return services;
}
private IServiceCollection AddCors_3(IServiceCollection services)
{
services.AddCors(setup =>
{
setup.AddPolicy(CorsName, build =>
{
build.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().WithExposedHeaders("x-custom-error");
});
});
return services;
}
private IServiceCollection AddCors_4(IServiceCollection services)
{
services.AddCors(setup =>
{
setup.AddPolicy(CorsName, build =>
{
build.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().WithExposedHeaders("x-custom-error");
});
});
return services;
}
}
}

@ -1,5 +1,12 @@
{
"urls": "http://*:5000",
"CORS": {
"PolicyName": "",
"Origin": ["*"],
"Method": [ "*" ],
"Header": [ "*" ],
"ExposedHeaders": []
},
"Logging": {
"LogLevel": {
"Default": "Information",

Loading…
Cancel
Save