Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 负载平衡情况下的OpenID_Java_Session_Openid_Load Balancing_Failover - Fatal编程技术网

Java 负载平衡情况下的OpenID

Java 负载平衡情况下的OpenID,java,session,openid,load-balancing,failover,Java,Session,Openid,Load Balancing,Failover,我正在考虑使用Java+Tomcat/JBoss实现OpenID提供程序(“OP”) 现在关于OpenID的一个关键问题是 用户与OP和RP进行通信,并与这两个站点进行会话 OP和RP相互通信以确保用户没有伪造任何东西 我还没有找到任何文档,其中一个问题是如何在负载平衡的情况下正确实现这一点 我担心的一般问题是RP连接到OP,并最终位于与用户不同的应用程序服务器上 我的问题是: 正确的处理方法是什么 “最好”的OpenID库是什么 使用 谢谢 我担心的一般问题是RP连接到OP,并最终位于与用

我正在考虑使用Java+Tomcat/JBoss实现OpenID提供程序(“OP”)

现在关于OpenID的一个关键问题是

  • 用户与OP和RP进行通信,并与这两个站点进行会话
  • OP和RP相互通信以确保用户没有伪造任何东西
  • 我还没有找到任何文档,其中一个问题是如何在负载平衡的情况下正确实现这一点

    我担心的一般问题是RP连接到OP,并最终位于与用户不同的应用程序服务器上

    我的问题是:

    • 正确的处理方法是什么
    • “最好”的OpenID库是什么 使用
    谢谢

    我担心的一般问题是RP连接到OP,并最终位于与用户不同的应用程序服务器上

    将对话状态保存在共享存储中。也就是说,数据库或。缓存会更快,而且您不需要太多的持久性

    使用粘性会话进行负载平衡(来自同一客户端的所有后续请求都到达同一服务器)将减少缓存更新的数量


    (我最初打算建议的群集HTTP会话将不起作用,因为相同的会话分布在两个会话之间:用户会话和应用程序会话)。

    在OP端,真正需要在集群中的机器之间共享的唯一特定于OpenID的状态是关联(共享机密及其句柄)。这是相当可缓存的;给定关联句柄的秘密永远不会改变,它们有一个定义良好的生命周期,并且不应该有那么多。(除非您使用一些使用无状态模式的大容量RPs操作。)


    根据您的功能集和用户界面,用户可能会有一些其他会话状态,但这不需要应用于直接RP-OP通信,您可以使用标准的技巧。

    除非严格要求,为什么不使用外部提供商?要求是使用具有现有帐户的现有网站作为身份验证。我正在寻找链接外部网站,而不需要用户主动登录每个网站。