当第一个人登录时,我们如何防止第二人登录

时间:2016-06-29 11:47:15

标签: angularjs spring spring-security ionic-framework

我要求只有一个用户处于活动状态(即登录),而其他用户无法使用相同的凭据登录。当他尝试登录时我需要使用Ionic + AngularJs(混合)移动限制其他用户应用

目前我正在将Servers端用作Java,将Client端用作Hybrid框架。 当用户登录时,它生成了一个基本身份验证令牌,并在每个REST API服务调用之后调用生成的令牌为

 login: function(userName, password, authTokenValue) {

        var loginPath = '/login/' + userName + '/' + password;
        //calling  loginCustomer rest service
        return $resource(host + loginPath, {}, {

            query: {
                headers: {

                    'X-Auth-Token': authTokenValue
                },
                method: 'GET'
            }
        });
    }

并且Token是基于userName和密码生成的,它不相同(即随机生成的令牌值) 但我没有为任何用户维护任何会话,但我要求当用户已登录时,其他人无法使用相同的凭据访问这些服务。

请提供一些指导我如何实现它? 抱歉我的英文不好

1 个答案:

答案 0 :(得分:0)

您可能正在寻找的是会话管理。

由于您使用令牌,因此在进行身份验证后保存令牌可能是个好主意(持久性存储,例如$sessionStorage$localStorage - 请检查ngStorage)。

当其他人想要执行登录时,您只需检查这些商店是否有令牌。如果不存在则该用户可以继续他们的登录。否则,您只需通过“先退出”消息拒绝承诺。