zoukankan      html  css  js  c++  java
  • .netcore 跨域问题

    CORS(跨域资源共享)是一种W3C标准,允许服务器放宽同源策略。使用CORS,服务器可以在显式允许某些跨域请求时拒绝其他跨域请求。CORS是相比其他跨域技术(比如JSONP)更安全、更灵活。

    ASP.NET Core跨域问题需要再 StartUp.cs 文件中进行相关配置。

    ConfigureServices:

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

    由于ASP.NET CORE 2.1, 其Cors组件已经升级,出于安全考虑必须明确要允许的内容。 如果要允许凭据,则Access-Control-Allow-Origin不能使用*。 您必须指定确切的协议+域+端口。

                services.AddCors(options => options.AddPolicy("CorsPolicy",
                builder =>
                {
                    builder.WithOrigins(new string[] { "http://127.0.0.1:5000" })
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        .AllowCredentials();
                }));
    

    不想做任何限制就将AllowAnyOrigin替换为SetIsOriginAllowed(_ => true)就可以解决。

                services.AddCors(options => options.AddPolicy("CorsPolicy",
                builder =>
                {
                    builder.AllowAnyMethod()
                        .SetIsOriginAllowed(_ => true)
                        .AllowAnyHeader()
                        .AllowCredentials();
                }));
    

      

    在Configure中,添加配置

    注意: app.UseCors("CorsPolicy"); 要写在app.UseAuthorization(); 后面,否则会报错。

                app.UseAuthorization();
                app.UseAuthentication();
                //配置Cors
                app.UseCors("CorsPolicy");
                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapControllers().RequireCors("any");
                });
    

      

    咩咩咩
  • 相关阅读:
    gcc编译器遇到的部分问题的总结(二)
    gcc编译器遇到的部分问题的总结
    Illegal instruction与march编译选项
    使用using与typedef来定义别名
    C++模板学习之递归
    C++模板学习之typename
    简单的listen+fork accept服务器实现
    一个简单的日志类的开发
    linux中的select和epoll模型
    程序异常退出调试(二)
  • 原文地址:https://www.cnblogs.com/jiamiemie/p/15476107.html
Copyright © 2011-2022 走看看