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

具有不同域的多个产品中的集中式会话

沈博涉
2023-03-14

我正在为多种产品开发集中式管理模块。尝试跨多个产品维护同一会话。

对于Product1:验证成功并在响应标头中发送令牌

请求网址:http://localhost:8080/admin-web/rest/authenticate/

请求标头

Accept:application/json,text/plain,*/*接受编码:gzip,deflate接受语言:en-US,en;q=0.8缓存控制:无缓存连接:保持活动主机:本地主机:8080源:http://product1.com:9090Pragma:无缓存引用:http://product1.com:9090/p1/用户代理:Mozilla/5.0(X11;Linux x86\u 64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/59.0.3071.109 Safari/537.36

响应标题

设置Cookie:令牌=asdf123sfs1f23sfsf321sfsf21;版本=1;评论=";域=localhost;路径=/

对于产品2:

请求网址:http://localhost:8080/admin-web/rest/authenticate/

请求标头

Accept:application/json,text/plain,*/*接受编码:gzip,deflate接受语言:en-US,en;q=0.8缓存控制:无缓存连接:保持活动内容长度:156内容类型:应用程序/json;字符集=UTF-8主机:本地主机:8080源:http://product2.com:9090Pragma:无缓存引用:http://product2.com:9090/p2/令牌:null

product1身份验证后进行product2身份验证时,发现令牌null。如果我在同一域上部署product1,它可以正常工作。因此,我想在另一个产品请求中为同一服务url使用令牌标头。我该怎么做?请在下面找到我的CORS配置:

<filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>

    <init-param>
        <param-name>cors.allowOrigin</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportedMethods</param-name>
        <param-value>GET, HEAD, POST, OPTIONS, PUT, DELETE</param-value>
    </init-param>
</filter>

共有1个答案

阎唯
2023-03-14

我通过为每个产品创建子域解决了这个问题,就像谷歌一样,我可以在子域之间共享cookie。

子域和域之间的引用共享cookie

 类似资料:
  • 我正在用spring security saml扩展实现一个多租户应用程序。 我为每个租户提供了一个服务提供商(SP)。所有SP都运行在与SP特定的第二级域公开的同一服务器上: sp1。myapp。com/myapi/1/ 在每个SP元数据文件中,我都配置了特定于租户的AssertionConsumerService。 当我测试SSO登录时,当SP端收到身份提供者(IDP)的响应时,我会得到一个K

  • 问题内容: 我运行foo.com。我在foo.com中有两个不同的应用程序:一个是foo.com/bar,另一个是foo.com/example。我使用会话来跟踪有关用户登录的信息,但是如果用户从foo.com/bar转到foo.com/example,则foo.com/example会看到用户从foo.com/启动的会话并使用该信息。我的问题是,如何同时为每个目录进行两个不同的会话? 问题答案:

  • 问题内容: 我遇到的情况是可以从多个不同的域访问应用程序。例如, foo.com 和 bar.com 在理论上都可以指向我的应用程序。此外,它们的子域也可以指向我的应用程序,例如 red.foo.com 和 blue.foo.com 。我正在使用Express cookie会话,该会话的初始化代码如下所示: 当用户访问 foo.com 或其任何子域时,这种方法效果很好,但是 bar.com 无法正

  • 我正在使用此代码添加自定义属性 这个代码的结果我得到了添加只是产品属性名称没有术语值... 我找了很多,但没有得到任何答案。

  • Tasklet类是在以下三个方法中定义的: 面临的问题:该文件包含150,000条记录,因此,在doExecute()方法之后,它将150,000条数据记录存储在列表中。在doAfterStep()方法中,它试图将列表中的所有150,000条记录保存到数据库中,从而导致事务超时错误。 解决办法: 在这个阶段,我们如何在这里发送2个实体,Entity2和entity3?

  • 问题内容: 我想从具有不同列名的两个表中返回一行结果集,每个表中的每一行一行。 结果应如下所示,空格可以为null,第二半的team_id来自coach_id: 这是模式: 试过这个,但还没真正接近: 问题答案: nulnullry这