zoukankan      html  css  js  c++  java
  • abp.vnext vue 跨域设置

    在vue中js访问非同地址的webapi,会报Access to XMLHttpRequest at 'xxxx' from origin 'http://localhost:9527' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource。主要是调用的webapi没有设置允许跨域的地址。

    1.xxxModule中设置CorsPolicyName值。

    private const string DefaultCorsPolicyName = "Default";

    2.配置configurecors

     private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration)
            {
                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();
                    });
                });
            }

    3.在ConfigureServices中调用ConfigureCors

     public override void ConfigureServices(ServiceConfigurationContext context)
            {
                var hostingEnvironment = context.Services.GetHostingEnvironment();
                var configuration = context.Services.GetConfiguration(); 
                ConfigureUrls(configuration);
                ConfigureBundles();
                ConfigureAuthentication(context, configuration);
                ConfigureAutoMapper();
                ConfigureVirtualFileSystem(hostingEnvironment);
                ConfigureLocalizationServices();
                ConfigureNavigationServices();
                ConfigureAutoApiControllers();
                //CorsOrigins 设置
                ConfigureCors(context, configuration);
                ConfigureSwaggerServices(context.Services);
            }

    4.在OnApplicationInitialization使用UseCors

    app.UseCors(DefaultCorsPolicyName);

    5.在appsettings.json中设置允许跨域访问的地址

    "App": { 
        "CorsOrigins": "https://*.ti.com,http://localhost:4200,http://localhost:9527"
      }, 
  • 相关阅读:
    HTTP接口测试
    1 ThinkPHP MVC框架初识
    解决python2.7 scripts和pip缺失问题
    图片重绘
    Oracle数据库提权
    二阶注入
    去重算法,简单粗暴&优化版
    常用集合
    冒泡排序 -- 算法原理
    MySQL-配置环境变量及修改密码(附-mysql安装教程)
  • 原文地址:https://www.cnblogs.com/lecone/p/14411508.html
Copyright © 2011-2022 走看看