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

对预飞行请求的响应没有通过访问控制检查:它没有HTTP ok状态。(Spring Security&Angular)

公孙琛
2023-03-14

这是我尝试通过spring Security中的基本身份验证登录时得到的错误。@crossorigin()注释包含在rest控制器中。但我还是得到了这个信息。我还尝试过@crossorigins(origins={“localhost:4200”},allowedheaders={“accept”}),但当我尝试登录时,仍然会显示该消息。

用于验证的Angular方法:(我正在返回rest控制器中的登录用户id)

authenticate(username, password) {
  const headers = new HttpHeaders({ Authorization: 'Basic ' + btoa(username + ':' + password) });

  return this.http.get<number>('http://localhost:8080/hiring-prediction-tool/users/login', {headers})
  .pipe(map(
      userData => {
        console.log(userData, 'userData');
        sessionStorage.setItem('username',username);
        let authString = 'Basic ' + btoa(username + ':' + password);
        sessionStorage.setItem('basicauth', authString);
        return userData;
      }
    )
  ); 
}

共有1个答案

呼延智明
2023-03-14

解决这一问题的正确方法是使用像nginx或apache这样的服务器将流量引导到站点的前端或后端部分。

您还可以让后端为您的angular站点提供服务。运行ng build(我正在使用下面的开发配置),并将angular.json文件中的outputPath放入服务器。例如。

      "configurations": {
        "development": {
          "extractCss": true,
          "sourceMap": true,
          "watch": true,
          "poll": 1000,
          "outputPath": "../server/target/classes/static"
        }

您将需要做一些额外的配置,以使所有的服务都完善起来,但是整个站点将位于localhost:8080

protected void configure(HttpSecurity http) throws Exception {
    http.cors().disable();
}
 类似资料:
  • 我试图使用授权头向我的Wordpress REST API发出一个GET/POST请求,但作为响应,我得到了 CORS策略阻止从来源“HTTP://localhost:3000”访问位于“hidden_server_address”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。 在邮递员中,电话工作很好,并给出了预期的结果。

  • 我使用Angular6作为网页前端工程师运行超文本传输协议://localhost:4200和Spring Boot(内置Tomcat服务器)作为后端(公开一个GET Rest API)运行在https:// localhost:8083/ldap。当我运行这个,我得到CORS策略错误的浏览器。所以我在网上搜索并尝试了网上建议的多个修复程序。我不确定我在下面的每个解决方案中错过了什么。 不成功修复

  • 我在做这个请求: 但在执行该方法时,我遇到了以下错误:访问'http://localhost:8083/uaa/addPermission/group/2“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。我已经有了CORS Chrome插件,我可以做其他类型的请求,比如POST和GET,接收请求的方法有@Cro

  • 我目前正在编写一个应用程序,它通过axios post req与一个API对话。以便收到响应。 我有一个.vue组件,其内容是具有给定规格的表单。我通过composer安装了CORS,设置了CORS.php,并在kernel.php中添加了所有必要的内容。 我的Vue存储在一个. blade. php视图中。 每次我尝试发送数据时,cors都会收到以下错误消息: 'http://myurl//“起

  • 问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访

  • 问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“h