ASP.NET Core 快速配置跨域、全局跨域

内容纲要

Startup 中,添加一个静态变量

        readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

services 中配置全局放通

            services.AddCors(options =>
            {
                options.AddPolicy(MyAllowSpecificOrigins,
                builder => builder.AllowAnyHeader()
                .AllowAnyMethod()
                .AllowAnyOrigin());
            });

中间件中放置允许跨域

            app.UseHttpsRedirection();

            app.UseDefaultFiles(Program.Defaultfileoptions);
            app.UseStaticFiles();

            app.UseRouting();

#if CORS
            app.UseCors(MyAllowSpecificOrigins);
#endif

配置完毕,要设置哪些 Controller 或 Action 允许跨域。

如果要全局配置跨域,要在中间件的路由配置中加上

.RequireCors(MyAllowSpecificOrigins)
示例:

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers().RequireCors(MyAllowSpecificOrigins);

                // 添加 signalR 服务
                // endpoints.MapHub<MessageHubs>("/Message");
            });

如果你只想对某个 Controller 或 Action 开放跨域,则在 Controller 或 Action 前加上注释

    [EnableCors]
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注