gpt4 book ai didi

angular - POST 到 Angular/Tomcat 时的 403 状态码

转载 作者:行者123 更新时间:2023-11-28 23:15:54 26 4
gpt4 key购买 nike

我正在编写我的第一个 Angular 应用程序,我想向我的后端 tomcat 服务器发出一个发布请求。使用我传递给 Postman 的相同信息,它向我返回 200 OK 响应。

myPost(firstname: String, lastname: String, top: String, bottom: String): Observable<Object> {
return this.http.post('http://localhost:8088/myportal/api/myService', JSON.stringify({
"jsonrpc": "2.0",
"id": "1",
"method": "myPost",
"params": {firstname,lastname,top,bottom}
}),{
headers: new HttpHeaders({
'SSOUser': 'ARDC2342FC'
})
});
}

我发现有一个解决方案说要修改 Tomcat 配置,所以我编辑了 Tomcat web.xml 文件以启用 CorsFilter 以允许所有来源。

<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

还是不行。我找到了一个关于使用 Angular 代理的解决方案,所以我创建了一个 proxy.config.json 文件,这是以前的解决方案之一,但它仍然不起作用

{
"/myportal/api" : {
"target" : "http://localhost:8088/myportal/api",
"secure" : false,
"logLevel" : "debug",
"changeOrigin": true
}
}

还是不行。我没有看到此问题的任何其他替代解决方案,所以我只是假设我做错了什么。有人可以帮忙吗?如果我取出我的 SSOUser,我会收到 500 错误,这与 postman 发生的事情相同,所以这是我验证我的前端请求是否相同的唯一方法。

最佳答案

403 错误是由于请求 header 中的 ssouser 而发生的。由于某种原因,它阻止了请求到达服务器端。当我把它拿出来时,我能够连接到服务器。虽然我需要在服务器端对 ssouser 信息进行硬编码才能通过身份验证。

我需要查找一种正确的方法来在 http 请求中发送 ssouser 信息。

关于angular - POST 到 Angular/Tomcat 时的 403 状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com