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();           
            }
  • 相关阅读:
    elementui 表格格式化
    安装mongoDB出现的问题:无法启动
    学习笔记-angular 使用uuid
    cordova app打包apk签名
    ionic3 清除navpush的堆栈 (android真机返回键bug)
    ionic3 StatusBar 不显示问题
    ionic3+angular 倒计时效果
    windows下一台机器运行多个tomcat
    JDBC连接数据库小结
    工具类---提供精确的浮点数运算
  • 原文地址:https://www.cnblogs.com/sui84/p/15616876.html
Copyright © 2011-2022 走看看