62,072
社区成员
发帖
与我相关
我的任务
分享
//允许跨域
services.AddCors(p =>
{
p.AddPolicy("vipxwkservice", option =>
{
var listorigins = Configuration.GetSection("SiteConfig").GetSection("Origins").Get<string[]>();
#if DEBUG
option.AllowAnyOrigin().AllowAnyMethod()
.AllowAnyHeader()
.WithExposedHeaders(VIPKeys.SESSION_CODE);
#else
option.WithOrigins(listorigins)
.AllowAnyMethod()
.AllowAnyHeader()
.WithExposedHeaders(Common.VIPKeys.SESSION_CODE);
#endif
});
});
app.UseCookiePolicy();
app.UseSession();
app.UseRouting();
app.UseCors("vipxwkservice");
app.UseAuthentication();
app.UseEndpoints(endpoints =>
{
//跨域需添加RequireCors方法,cors是在ConfigureServices方法中配置的跨域策略名称
endpoints.MapControllers().RequireCors("vipxwkservice");
});
"SiteConfig": {
"DomainModules": [ "User", "Application", "Admin" ],
"Origins": [
"http://localhost:50592",
"http://192.168.0.23:10030"
],
"AuthorizationConfig": {
"Audience": "abc",
"Issuer": "abc",
"Expires": 43200, //过期分钟数
"JwtSecurityKey": "www.abc.com@!##$%##" //密匙长度大于等于16位
}
}
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddMvc(options =>
{
options.Filters.Add<MyApiFilter>();
});
// 设置允许所有来源跨域
services.AddCors(options => options.AddPolicy("CorsPolicy",
builder =>
{
builder.AllowAnyMethod()
.AllowAnyHeader()
.SetIsOriginAllowed(_ => true) // =AllowAnyOrigin()
.AllowCredentials();
}));
// 使用跨域配置
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("CorsPolicy");
ILoggerRepository repository = LogManager.CreateRepository("NETCoreRepository");
XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
//全局路由配置
endpoints.MapControllerRoute(name: "default",
pattern: "{controller=Index}/{action=Index}/{id?}"
);
});
}
}