zoukankan      html  css  js  c++  java
  • [转载]【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();           
            }
  • 相关阅读:
    最近在搞微信支付,说说流程,免得遗忘
    好记性不如烂笔头-Mysql查找如何判断字段是否包含某个字符串
    用jquery操作字体颜色覆盖当前页面的css设置
    页面白屏并且报错PHP Parse error: syntax error, unexpected end of file in 试了很久总算解决了
    bootstrap的datetimepicker.js的结束时间大于开始时间,当前日期之前的代码
    使用ClassLoader类装载器获取系统资源
    关于App class loader的总结
    ClassLoader 详解及用途(写的不错)
    webRequest
    Tomcat学习之ClassLoader
  • 原文地址:https://www.cnblogs.com/sui84/p/15616876.html
Copyright © 2011-2022 走看看