• [转载]【Abp VNext】实战入门(七):【1】xxx.Web网站层 —— API接口服务添加跨域访问支持


    添加指定跨域支持

    private const string DefaultCorsPolicyName = "Default";
    public override void ConfigureServices(ServiceConfigurationContext context)
            {
                var hostingEnvironment = context.Services.GetHostingEnvironment();
                var configuration = context.Services.GetConfiguration();
                //............................
                //添加跨域支持:原有代码不用动
                context.Services.AddCors(options =>
                {
                    options.AddPolicy(DefaultCorsPolicyName , builder =>
                    {
                        builder.WithOrigins(
                                configuration["App:CorsOrigins"]
                                    .Split(",", StringSplitOptions.RemoveEmptyEntries)
                                    .Select(o => o.RemovePostFix("/"))
                                    .ToArray()
                            )
                            .WithAbpExposedHeaders()
                            .SetIsOriginAllowedToAllowWildcardSubdomains()
                            .AllowAnyHeader()
                            .AllowAnyMethod()
                            .AllowCredentials();
                    });
                });
            }
    
            public override void OnApplicationInitialization(ApplicationInitializationContext context)
            {
                var app = context.GetApplicationBuilder();
                var env = context.GetEnvironment();             
     
                //必须放在下面2个的前面才有用 不然还是报跨域错误:
                app.UseCors(DefaultCorsPolicyName);
                app.UseIdentityServer();            
                app.UseAuthorization();           
            }

    添加所有跨域支持:简单粗暴疗效好

    private const string DefaultCorsPolicyName = "Default";
    public override void ConfigureServices(ServiceConfigurationContext context)
            {
                var hostingEnvironment = context.Services.GetHostingEnvironment();
                var configuration = context.Services.GetConfiguration();
                //............................
                //添加跨域支持:原有代码不用动
                context.Services.AddCors(options =>
                {
                    options.AddPolicy(DefaultCorsPolicyName , builder =>
                    {
                        builder
                            .AllowAnyOrigin()//添加这个
                            .WithAbpExposedHeaders()
                            .SetIsOriginAllowedToAllowWildcardSubdomains()
                            .AllowAnyHeader()
                            .AllowAnyMethod();
                            //.AllowCredentials(); 去掉这个
                    });
                });
            }
    
            public override void OnApplicationInitialization(ApplicationInitializationContext context)
            {
                var app = context.GetApplicationBuilder();
                var env = context.GetEnvironment();             
     
                //必须放在下面2个的前面才有用 不然还是报跨域错误:
                app.UseCors(DefaultCorsPolicyName);
                app.UseIdentityServer();            
                app.UseAuthorization();           
            }
  • 相关阅读:
    STM32对HAL库的LCD驱动移植
    stm32对HAL库的DAC使用
    STM32对HAL库的ADC(多通道DMA)
    STM32对HAL库的ADC(单通道非DMA)
    STM32 fputc函数(重定向)
    STM32的HAL库DMA串口不定长度的读写操作(二)
    STM32对HAL库的PWM控制
    STM32对HAL库的定时器中断
    STM32对HAL库的外部中断处理
    C#上位机制作之串口接受数据(利用接受事件)
  • 原文地址:https://www.cnblogs.com/sui84/p/15616876.html
Copyright © 2020-2023  润新知