当前位置: 首页 > 知识库问答 >
问题:

访问 XMLHttpRequest at In Asp.net core 2.2.1

苏德容
2023-03-14

在我的Asp。在.net核心项目中,我使用Microsoft.AspNetCore。App Version=“2.2.1”,并在启动服务
中调用AddCors。cs

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

    .....

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseCors(policyName: "CorsPolicy");  

            .... 

< code >控制器:

 [Route("api/[controller]")]
    [EnableCors("CorsPolicy")]
    public class ManageUsersController : Controller
    { ...

在angular 5 App中调用Web API时在浏览器的控制台中显示此错误

CORS策略阻止从源http://localhost:4200在http://localhost:5000/api/Account/LoginByPortal处访问XMLHttpRequest:对预飞行请求的响应无法通过权限改造检查:当请求的凭据模式为“包含”时,响应中“访问控制允许源”标头的值不能是通配符“*”。由XMLHttpRequest发起的请求的凭据模式由with凭据属性控制。

角度服务:

loginByPortal(credentials: Credentials): Observable<userLoginViewmodel> {
    const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
    return this.http
      .post(`${this.appConfig.apiEndpoint}/Account/LoginByPortal`, credentials,
       { headers: headers, withCredentials: true /* For CORS */ })     
      .map(response => response || {})
      .catch((error: HttpErrorResponse) => Observable.throw(error));
  }

我不想使用.WithOrigins()http://localhost:4200“
我想在CoreSPolicy中使用AllowAnyOrigin
有什么问题?我如何解决?

共有1个答案

吴城
2023-03-14

解决方案在这里:https://stackoverflow.com/a/53790841/8801075

app.UseCors(builder => builder
                .AllowAnyHeader()
                .AllowAnyMethod()
                .SetIsOriginAllowed((host) => true)
                .AllowCredentials()
            );
 类似资料:
  • 我以前曾尝试向LineItem类添加访问器,如 并将FTL从更改为,但这不起作用。解决方案是添加访问器,但不更改FTL(保持为。 我正在用Freemarker格式化一些电子邮件。在这封电子邮件中,我被要求列出一系列产品信息,如发票上的信息。我的目标是传递一个对象列表(在一个映射中),以便在FTL中迭代它们。目前我遇到一个问题,无法从模板中访问对象属性。我可能只是错过了一些小东西,但现在我很难堪。

  • URL格式 ThinkCMF5采用的是混合模式路由,也就是说同时支持路由和PATH_INFO方式; 如果没有设置路由规则,默认就采用PATH_INFO方式,URL 格式如下: http://yourServerName/index.php/应用/控制器/操作/[参数名/参数值...] URL大小写 ThinkCMF5的 URL 是不区分大小写的,如: http://localhost/index

  • URL格式 ThinkCMF6.0采用的是混合模式路由,也就是说同时支持路由和PATH_INFO方式; 如果没有设置路由规则,默认就采用PATH_INFO方式,URL 格式如下: http://yourServerName/index.php(或其它入口文件)/应用/控制器/操作/[参数名/参数值...] URL大小写 ThinkCMF的 URL 是不区分大小写的,如: http://local

  • URL设计 ThinkPHP5.1在没有定义路由的情况下典型的URL访问规则是: http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...] 支持切换到命令行访问,如果切换到命令行模式下面的访问规则是: >php.exe index.php(或者其它应用入口文件) 模块/控制器/操作/[参数名/参数值…] 可以看到,无论是URL访问

  • Kibana 是一个 web 应用,可以通过5601端口访问。只需要在浏览器中指定 Kibana 运行的机器,然后指定端口号即可。例如, localhost:5601 或者 http://YOURDOMAIN.com:5601 。 当访问 Kibana 时,Discover 页默认会加载默认的索引模式。时间过滤器设置的时间为过去15分钟,查询设置为匹配所有 (*) 。 如果看不到任何文档,试着把时

  • JAVA访问修饰符的可访问性 公众 在 同一班级 同一套餐 子类 宇宙/其他软件包 我在互联网上寻找这些问题的答案,因为我有多个答案。一个视频说未声明的访问修饰符是公共的,而我看到另一个书面来源说未声明的访问修饰符在子类和其他包中没有限制。试图确认哪个是真的。

  • 问题内容: 我正在寻找一种在Java App(使用JDBC)中打开Access MDB文件的方法。 快速的Google搜索建议我为此需要JDBC-ODBC Bridge。 这是否意味着我需要配置要在其上运行应用程序的每个系统,以便为要打开的MDB提供ODBC DSN? 还有一个问题(因为我以前从未使用过ODBC):通信是通过某种套接字(以客户机/服务器方式)还是通过方法/函数调用(例如嵌入Derb

  • 难以理解oauth2令牌和刷新令牌进程 我有这个代码 上面的代码给了我一个访问令牌,我遵循了stackoverflower的同事pinoyyid建议的链接,但是,我对如何正确使用生成的访问令牌访问驱动器和复制文件感到困惑。。。 我看到的所有过程通常都涉及到,我不确定如何使用整个帖子http://.....事情,所以基本上我需要弄清楚,如果我在谷歌客户端的一个新实例中使用上面的代码获得的访问令牌,或