分享

asp.net core 2.1 跨域

 实力决定地位 2018-10-10

官方文档 ➡️ https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-2.1

1. NuGet: Microsoft.AspNetCore.Cors

2.

  1. //Startup.ConfigureServices(IServiceCollection services)
  2. services.AddCors(options =>
  3. {
  4. options.AddPolicy("AllowSpecificOrigin",
  5. builder =>
  6. {
  7. builder.WithOrigins("http://0.0.0.0:3201").AllowAnyHeader();
  8. });
  9. });
3.
  1. //Startup.Configure(IApplicationBuilder app, IHostingEnvironment env)
  2. //这行代码必须要在“app.UseMvc”等前面
  3. app.UseCors("AllowSpecificOrigin");

这个方法允许该网站被http://0.0.0.0:3201跨域调用,设置这个的时候注意不要加最后一个斜杆


而我并不喜欢写死这么一个字符串,刚开始想过通配符的方式,所以看了下这些相关类里面的方法,还真的找到了个符合参数的方法,他要我传入一个委托,并且返回是bool,感觉很接近,尝试了一下还真行

  1. //Startup.ConfigureServices(IServiceCollection services)
  2. services.AddCors(options =>
  3. {
  4. options.AddPolicy("AllowSpecificOrigin",
  5. builder =>
  6. {
  7. //builder.WithOrigins("http://0.0.0.0:3201").AllowAnyHeader();
  8. builder.SetIsOriginAllowed((string arg) => {
  9. System.Console.WriteLine(arg);
  10. return true;
  11. });
  12. });
  13. });

看图片,到这里大家自己扩展自己的方法啦,可以用正则去支持你的通配符,也可以自由的写逻辑了


上面的方法已经满足了我的需求了,这个库还有好多其他的东西


这篇文章是asp.net core 2.1的,如需要支持其他版本的可以自己查阅官方文档哈



阅读更多
--------------------- 作者:u011010407 来源:CSDN 原文:https://blog.csdn.net/u011010407/article/details/81064428?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多