更改用户名后,从所有设备

时间:2016-01-07 07:05:14

标签: java android spring spring-security mobile-application

在我的应用程序中,用户可以更改其用户名。如果用户更改了用户名,则特定用户帐户应从所有设备注销。 即使在移动应用中也是如此

为此,我做了以下事情,

  • 更改用户名后,我将删除服务器中特定用户名的 access_token refresh_token

    Collection<OAuth2AccessToken> tokenCollection = tokenStore.findTokensByUserName(principal.getName());
    
    
    for (OAuth2AccessToken oToken : tokenCollection){
        tokenStore.removeAccessToken(oToken);
        tokenStore.removeRefreshToken(oToken.getRefreshToken());
    }         
    
  • 如果用户从移动应用程序访问,首先我将检查access_token是否无效,然后我将检查refresh_token。如果两者都无效,我会将用户重定向到登录页面。 在移动应用中,它运行良好

但是如果用户通过PC登录,则需要处理以下场景。

情景是: - 从移动应用程序更改用户名后,如果用户在PC中执行任何活动,则会提供&#34; 500内部服务器错误&#34; &#34; XML身份验证说明失败&#34;

如何处理?请帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

考虑这个......

  1. 创建一个包含用户状态的数据库/表。
  2. 关于更改用户名,更新数据库中最新用户的状态。
  3. 每次用户登录时,都要从数据库/表中检查用户的状态。
  4. 然后向用户显示适当的消息,以便开始新的活动或类似的活动。