首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CORS Net Core 3.1

CORS Net Core 3.1
EN

Stack Overflow用户
提问于 2020-06-26 13:43:01
回答 1查看 200关注 0票数 0

我的代码有这个问题;我试图从我的本地主机调用api到网络中的地址,我在web控制台中有这个错误:

我认为我的本地主机中的CORS是正常的,但这不起作用:"...CORS头‘访问-控制-允许-来源’缺失“

我在visual studio 2019中编译,我的api在互联网上;但是我从localhost探测了这段代码。

这是我的代码启动:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.EntityFrameworkCore;
using IDCA.Models;

namespace IDCA
{
 public class Startup
 {
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }


    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        // Add CORS policy
        services.AddCors(
          options => options.AddPolicy("foo",
          builder => builder.AllowAnyOrigin()
          .AllowAnyHeader()
          .AllowAnyMethod()
          )
       );


        services.AddDbContext<TodoContext>(options =>
               options.UseSqlServer(Configuration.GetConnectionString("RazorPagesMovieContext")));
        services.AddControllers();

        services.AddScoped<SmtpClient>((serviceProvider) =>
        {
            var config = serviceProvider.GetRequiredService<IConfiguration>();
            return new SmtpClient()
            {
                Host = config.GetValue<String>("Email:Smtp:Host"),
                Port = config.GetValue<int>("Email:Smtp:Port"),
                Credentials = new NetworkCredential(
                        config.GetValue<String>("Email:Smtp:Username"),
                        config.GetValue<String>("Email:Smtp:Password")
                    )
            };
        });
        services.AddMvc();

        services.AddRazorPages();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseHttpsRedirection();

        app.UseDefaultFiles();
        app.UseStaticFiles();

        app.UseRouting();
        // Use the CORS policy
        app.UseCors("foo");

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapRazorPages();
            endpoints.MapControllers();
        });
    }
}

}

EN

回答 1

Stack Overflow用户

发布于 2020-06-26 14:04:30

核心2.2的配置:

代码语言:javascript
复制
 services.AddCors(
         options => options.AddPolicy("foo",
         builder => builder.AllowAnyOrigin()
         .AllowAnyHeader()
         .AllowAnyMethod()
         )
      );

核心3.0的配置:

代码语言:javascript
复制
services.AddCors(options => {
      options.AddPolicy("foo", builder =>
      {

           builder                    
                .WithOrigins("http://*.*.*.*")
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials();
      });
    });

并尝试

代码语言:javascript
复制
 app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();

                endpoints.MapControllers().RequireCors("foo");
            });

详细信息显示此链接:https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62588698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档