.NetCore跨域
生活随笔
收集整理的這篇文章主要介紹了
.NetCore跨域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
瀏覽器安全策略上的安全限制可以有效阻止Ajax向另外的一個域server發起請求,這就是著名的同源策略,如何突破這種限制,可以使用CORS。
public?static?void?AddCommon(this?IServiceCollection?services){services.AddCors(options?=>{options.AddPolicy("AllowAll",?p?=>{p.AllowAnyOrigin()//允許任務來源的主機訪問.AllowAnyMethod()//允許任何請求方式.AllowAnyHeader();//允許任何頭部//.AllowCredentials();//允許任何證書?????Core3.0之后不允許Origin和Credentials都不做限制});});}AddCors來添加一個跨域處理方式,AddPolicy就是加個巡邏官,看看符合規則的放進來,不符合的直接趕出去。
| AllowAnyOrigin | 允許所有的域名請求 |
| AllowAnyMethod | 允許所有的請求方式GET/POST/PUT/DELETE |
| AllowAnyHeader | 允許所有的頭部參數 |
| AllowCredentials | 允許攜帶Cookie |
這里我使用的是允許所有,可以根據自身業務需要來調整,比如只允許部分域名訪問,部分請求方式,部分Header:
services.AddCors(options?=>{options.AddPolicy("AllowSome",?p?=>{p.WithOrigins("https://www.baidu.com").WithMethods("GET",?"POST").WithHeaders(HeaderNames.ContentType,?"x-custom-header");});});允許跨域
在Configure中聲明全局跨域
public?void?Configure(IApplicationBuilder?app,?IHostingEnvironment?env){app.UseCors("AllowAll");?app.UseHttpsRedirection();app.UseMvc();??????}只對面某一些控制器進行跨域
[EnableCors("AllowSome")]只對某一些方法進行跨域
[EnableCors("AllowSome")]對某個Action限制跨域
[DisableCors]總結
以上是生活随笔為你收集整理的.NetCore跨域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米 华为都要造车?.NET高薪潮来了!
- 下一篇: MySql 数据库基本设计规范