dotnet core 之 CORS使用示例
发布日期:2021-08-17 00:51:54 浏览次数:2 分类:技术文章

本文共 3833 字,大约阅读时间需要 12 分钟。

 

这里列举几个经过验证的可用的CORS使用示例,

方便在需要的时候可以直接使用

 

示例1

#region snippet2        public void ConfigureServices(IServiceCollection services)        {            services.AddCors(options =>            {                options.AddPolicy(MyAllowSpecificOrigins,                builder =>                {                    //1.可用                    //builder.WithOrigins("http://example.com",                    //                    "http://www.contoso.com",                    //                    "http://localhost:65317");                    builder.AllowAnyOrigin(); //2.可用                });            });            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);        }        #endregion        #region snippet3        public void Configure(IApplicationBuilder app, IHostingEnvironment env)        {            if (env.IsDevelopment())            {                app.UseDeveloperExceptionPage();            }            else            {                app.UseHsts();            }            app.UseCors(MyAllowSpecificOrigins);             app.UseHttpsRedirection();            app.UseMvc();        }        #endregion

这种比较常见,即在ConfigureServices中添加中间件及定义其策略;而在Configure中把中间件设置到管道中

 

示例2

public void ConfigureServices(IServiceCollection services)        {            //services.AddCors(); //经试验,此句加或者不加,都是可以的            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);        }        #region snippet2        public void Configure(IApplicationBuilder app, IHostingEnvironment env)        {            if (env.IsDevelopment())            {                app.UseDeveloperExceptionPage();            }            else            {                app.UseHsts();            }            // Shows UseCors with CorsPolicyBuilder.            app.UseCors(builder =>            {                builder.WithOrigins("http://example.com",                                    "http://www.contoso.com",                                    "https://localhost:44375",                                    "http://localhost:65317");            });            app.UseHttpsRedirection();            app.UseMvc();        }        #endregion

注意,这个示例中,直接在Configure中的app.UseCors中设置的跨域的一些要求,这种写法经试验也是可以的

 

示例3

public void ConfigureServices(IServiceCollection services)        {            services.AddCors(options =>            {                options.AddDefaultPolicy(                    builder =>                    {                                               builder.WithOrigins("http://example.com",                                            "http://www.contoso.com", "http://localhost:65317");                    });                options.AddPolicy("AnotherPolicy",                    builder =>                    {                        builder.WithOrigins("http://www.contoso.com", "http://localhost:65317")                                            .AllowAnyHeader()                                            .AllowAnyMethod();                    });            });            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);        }        public void Configure(IApplicationBuilder app, IHostingEnvironment env)        {            if (env.IsDevelopment())            {                app.UseDeveloperExceptionPage();            }            else            {                app.UseHsts();            }            app.UseHttpsRedirection();            app.UseMvc();        }

经试验发现,像这种没有在Configure中使用app.UseCors的,应该都属于局部设置跨域的,需要在相应的Controller或者Action方法上,使用注解:

 

//[EnableCors("AnotherPolicy")]  //这种事有名称的策略的注解添加    [EnableCors()]         //这种是模式策略的注解添加    [Route("api/[controller]")]    [ApiController]    public class ValuesController : ControllerBase

注意,即使是默认的策略也是需要使用注解进行声明的,否则会跨域错误。默认的策略只是说不用在注解中声明策略名而已

 

转载于:https://www.cnblogs.com/Vincent-yuan/p/10842083.html

转载地址:https://blog.csdn.net/weixin_30825199/article/details/99152118 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CQOI2015 选数
下一篇:nmap端口状态解析

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月18日 09时55分19秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章