【问题标题】:Signalr -> Access to XMLHttpRequest at 'javascript:;' from origin has been blocked by CORS policySignalr -> 在 'javascript:;' 访问 XMLHttpRequest来源已被 CORS 政策阻止
【发布时间】:2019-12-09 11:26:04
【问题描述】:

我正在使用带有 Signalr 的 asp.net core 2.2 angular 我在 google chrome 中遇到以下问题,但在 Firefox 中我也添加了以下代码

services.AddCors(o => o.AddPolicy("CorsPolicy", builder => {
                    builder
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .AllowCredentials()
                    .AllowAnyOrigin();
                })); app.UseCors("CorsPolicy");

            app.UseSignalR(routes =>
            {
                routes.MapHub<BroadcastHub>("/notify");
            });

在 'javascript:;' 访问 XMLHttpRequest从原产地一直 被 CORS 策略阻止:跨源请求仅支持 协议方案:http、data、chrome、chrome-extension、https。

【问题讨论】:

    标签: angular asp.net-core signalr


    【解决方案1】:

    当应用同时配置了 AllowAnyOriginAllowCredentials 方法时,CORS 服务将返回无效的 CORS 响应。

    AllowAnyOrigin 是不安全的,您可以修改代码以允许指定来源,如下所示。

    services.AddCors(o => o.AddPolicy("CorsPolicy", builder => {
        builder
        .AllowAnyMethod()
        .AllowAnyHeader()
        .AllowCredentials()
        .WithOrigins("http://example.com");
    }));
    

    【讨论】:

    • 如果问题只出现在 chrome 中,请分享您的 chrome 版本,如果可能,请分享一个最小的、可重现的示例,以便我们更好地重现和排除故障。
    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 2019-12-18
    • 2021-01-14
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2022-01-01
    相关资源
    最近更新 更多