从角度应用程序中的另一个应用程序获取cookie

问题描述 投票:0回答:1

当用户单击目标为 Angular 应用程序的超链接时,是否可以获取其他应用程序存储的 Cookie? java应用程序--->角度应用程序 两个应用程序都在同一服务器(tomcat)和端口(8080)中运行

我尝试使用 ngx-cookie-service 但没有成功

angular session-cookies httpcookie
1个回答
0
投票

在典型的 Web 安全环境中,一个应用程序不可能直接访问另一个应用程序的 cookie,即使它们运行在同一服务器和端口上。此限制由同源策略 (SOP) 强制执行,这是一种由 Web 浏览器实施的安全措施。

如果 Java 应用程序和 Angular 应用程序从不同的源提供服务(即使它们位于同一服务器上但具有不同的端口),由于 SOP,您将无法直接在它们之间访问 cookie。

如果两个应用程序都从相同的域和端口提供服务(例如,都在 localhost:8080 下),并且您仍然面临 ngx-cookie-service 的问题,请考虑以下事项:

检查 Cookie 路径和域:

确保Java应用程序设置的cookie与Angular应用程序具有公共域和路径。 Cookie 的域和路径必须匹配才能被两个应用程序访问。

使用 HttpOnly 和安全标志:

如果使用 HttpOnly 和 Secure 标志设置 cookie,JavaScript(Angular 运行的)将无法访问它们。如果您需要从 JavaScript 访问 cookie,请确保设置的 cookie 没有这些标志。

验证 Cookie 名称:

确保在尝试使用 ngx-cookie-service 访问它们时使用正确的 cookie 名称。

如果问题仍然存在,请考虑提供有关如何设置 Cookie 以及您如何尝试在两个应用程序中访问它们的更多详细信息,以获得进一步帮助。

© www.soinside.com 2019 - 2024. All rights reserved.