tomcat apache 8 服务器(端口 - 8080)上的 Pentaho API 在通过不同的 Web 应用程序(react JS,端口 - 3000)调用时出现 COR 问题
Pentaho APIs on tomcat apache 8 server(port - 8080) giving CORs issues when called through different web app(react JS, port - 3000)
我被卡住了,因为我必须调用 pentaho API 从 reactJS 应用程序验证用户。两者都在我的本地机器上。到目前为止我尝试过的事情:
a) 在 reactJS 配置文件中添加代理 - package.json。
问题 - 代码命中 localhost:3000 而不是 localhost:8080
b) 在没有安全保护的情况下启动 Google chrome 并添加 header。
link 建议以上 2 -
c) 修改 pentaho 端的 web.xml 文件并添加 cors jar 文件。
问题 - 我从 Maven 存储库下载了 cors jar 文件。添加了相应的过滤器。这些更改后服务器未启动。
link - https://www.ease2code.com/embedding-pentaho-cde-dashboard-in-web-application/
版本 - Pentaho 8.3 和 tomcat 8
错误 -
CORS 策略已阻止从源 'http://localhost:3000' 访问位于 'http://localhost:8080/pentaho/j_spring_security_check' 的 XMLHttpRequest:请求的资源上不存在 'Access-Control-Allow-Origin' header。
这终于奏效了。我们需要添加 2 个 jar 文件:
- cors-filter-2.6
- java-属性-utils-1.13
然后更新 webapps\pentaho\WEB-INF\web.xml 文件以读取这些 jar。
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<!-- Update specific domains instead of giving to all -->
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>accept, authorization, origin</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, OPTIONS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
重新启动 pentaho 服务器。它会起作用
我被卡住了,因为我必须调用 pentaho API 从 reactJS 应用程序验证用户。两者都在我的本地机器上。到目前为止我尝试过的事情:
a) 在 reactJS 配置文件中添加代理 - package.json。 问题 - 代码命中 localhost:3000 而不是 localhost:8080
b) 在没有安全保护的情况下启动 Google chrome 并添加 header。
link 建议以上 2 -
c) 修改 pentaho 端的 web.xml 文件并添加 cors jar 文件。 问题 - 我从 Maven 存储库下载了 cors jar 文件。添加了相应的过滤器。这些更改后服务器未启动。 link - https://www.ease2code.com/embedding-pentaho-cde-dashboard-in-web-application/
版本 - Pentaho 8.3 和 tomcat 8
错误 - CORS 策略已阻止从源 'http://localhost:3000' 访问位于 'http://localhost:8080/pentaho/j_spring_security_check' 的 XMLHttpRequest:请求的资源上不存在 'Access-Control-Allow-Origin' header。
这终于奏效了。我们需要添加 2 个 jar 文件:
- cors-filter-2.6
- java-属性-utils-1.13
然后更新 webapps\pentaho\WEB-INF\web.xml 文件以读取这些 jar。
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<!-- Update specific domains instead of giving to all -->
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>accept, authorization, origin</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, OPTIONS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
重新启动 pentaho 服务器。它会起作用