Jsf 2 SSO-JBoss7.x和JSF

Jsf 2 SSO-JBoss7.x和JSF,jsf-2,jboss7.x,single-sign-on,session-timeout,Jsf 2,Jboss7.x,Single Sign On,Session Timeout,我们有一个JBoss EAP 6.3集群,有2个节点。我们还启用了SSO 问题是,我们有一个具有登录表单的web应用程序,因此当web.xml中配置的会话超时过期时,它会将用户重定向到该表单。在会话超时时部署的其他web应用程序也将重定向到该表单 一方面,我们在web.xml中为每个web应用程序提供了会话超时属性,另一方面,我们在JBoss中启用了SSO 所有web应用程序上的相同会话超时值是否正确?我们是否应该忽略该值,而将重点放在某个SSO全局会话超时值上?在这种情况下,配置每个web应用

我们有一个JBoss EAP 6.3集群,有2个节点。我们还启用了SSO

问题是,我们有一个具有登录表单的web应用程序,因此当web.xml中配置的会话超时过期时,它会将用户重定向到该表单。在会话超时时部署的其他web应用程序也将重定向到该表单

一方面,我们在web.xml中为每个web应用程序提供了会话超时属性,另一方面,我们在JBoss中启用了SSO

所有web应用程序上的相同会话超时值是否正确?我们是否应该忽略该值,而将重点放在某个SSO全局会话超时值上?在这种情况下,配置每个web应用程序的会话超时的最佳实践是什么

谢谢各位,
注意。

Web会话和SSO会话是不同的,会话是在访问Web应用程序时创建的,无需自动验证即可使用。SSO允许对一个资源进行身份验证,以隐式授权对其他资源的访问。
然后根据文件:

SSO的工作原理
如果资源未受保护,则不会质询用户 根本不需要验证。如果用户访问受保护的资源,则 需要用户进行身份验证

成功验证后,系统将 与用户关联的角色被存储并用于授权 所有其他相关资源的

如果用户从 应用程序,或应用程序使会话无效 以编程方式删除所有持久化的授权数据,并且 过程重新开始

如果其他会话仍然有效,则会话超时不会使SSO会话无效。

因此,如果您想在集群中使sso身份验证无效,您可以调用方法
Request.logout()
,例如

SSO配置选项:

maxEmptyLife
仅群集SSO。单点登录的最大秒数 无活动会话的阀门可根据请求在 即将到期。正值允许正确处理发动机停机 节点(如果它是唯一一个连接到阀的活动会话)。 如果maxEmptyLife设置为0,则该阀将在 本地会话从复制,但备份会话的副本 群集应用程序可用于其他群集节点。允许 阀门的寿命超过其管理会话的寿命 用户发出另一个请求的时间,然后该请求可以故障转移到 不同的节点,它在其中激活会话的备份副本。 默认值为1800秒(30分钟)

Se还:

另一件事是无法在JBoss7(如JBoss4、5和6)中配置默认的
会话超时值,因此您必须在每个应用程序中配置此值

例如。在web.xml中添加:

<session-config>
    <session-timeout>20</session-timeout>
</session-config>

20

我希望这能有所帮助。

谢谢Federico,还有一个疑问,“如果其他会话仍然有效,会话超时不会使SSO会话无效。”?该web应用程序中的用户会发生什么情况?SSO是一种身份验证机制。web会话将具有关联的SSO,该SSO将用户与该主机或群集中其他节点上的其他应用程序关联。当所有关联会话无效、执行显式注销或处于关闭状态时,SSO身份验证无效。在群集情况下,当会话无效时,sso身份验证无效,因为对于同一应用程序,所有复制的会话都会在同一时间过期。好的,我测试了这个场景:用户通过具有登录表单的web应用程序(门户)登录(它获得两个cookie,一个表示web应用程序的会话,另一个表示SSO会话),然后等待,直到web应用程序的会话过期。意外情况下,我可以导航到另一个web应用程序并获取该web应用程序的会话表单。该行为是否正确?我是否遗漏了什么?如果会话已过期且不存在与SSO(SSO)关联的其他web会话,您必须查看身份验证会发生什么情况身份验证也被删除。