WSO2-获取用户的活动会话

WSO2-获取用户的活动会话,wso2,wso2is,wso2-das,Wso2,Wso2is,Wso2 Das,我们使用WSO2进行身份验证(SAML/SSO) 我不知道如何判断用户是否已经登录(以防止并发登录)。其他SO问题表明,无论是使用WSO2还是不使用WSO2,都可以知道这一点。我更希望不必运行WSO2 IS Analytics(这是间接提到的,但从未澄清。此外,我可以看到在登录期间填充和引用IDN_AUTH_SESSION_STORE表,但这是使用SESSION_ID(由commonAuth cookie传递) 因此,我正在寻找这个问题的直接答案:在身份验证过程中,我们如何判断给定用户是否已登录

我们使用WSO2进行身份验证(SAML/SSO)

我不知道如何判断用户是否已经登录(以防止并发登录)。其他SO问题表明,无论是使用WSO2还是不使用WSO2,都可以知道这一点。我更希望不必运行WSO2 IS Analytics(这是间接提到的,但从未澄清。此外,我可以看到在登录期间填充和引用IDN_AUTH_SESSION_STORE表,但这是使用SESSION_ID(由commonAuth cookie传递)


因此,我正在寻找这个问题的直接答案:在身份验证过程中,我们如何判断给定用户是否已登录?

如果不使用分析,WSO2 Identity Server不支持用户即时查询登录的用户会话。让我解释一下原因

当用户使用WSO2 Identity Server进行身份验证时,将创建一个会话。这些会话作为会话上下文对象存储,与WSO2实现中的commonAuthId cookie相对应。有关登录用户的信息位于这些会话对象中。因此,如果我们要获取特定用户的会话,必须查询所有active会话,并根据用户的需要逐一浏览所有会话

作为替代方案,您可以编写一个自定义数据发布器模块,该模块针对每个用户保存会话数据,然后您可以使用这些数据来防止并发登录


希望这能有所帮助。

我确实注意到会话数据不完全可查询(正如您所指出的)。您的方法正是我想要的(我不想站在分析产品的立场上)。如果我需要任何澄清,将跟进。谢谢!很高兴我能提供帮助!