Sencha Touch 2-登录用户状态

Sencha Touch 2 - Login user state

本文关键字:用户 状态 登录 Touch Sencha      更新时间:2023-09-26

我正在创建一个ST2应用程序,您可以在其中登录/注册等

我想知道登录并在整个应用程序中显示用户状态的正常方式是什么。

我有一个带有REST代理的用户模型来获取/保存数据。当你加载应用程序时,我这样做是为了抓住用户:

launch: function () {
    var User = Ext.ModelManager.getModel('App.model.User');
    User.load("", {
        success: function (user) {
            // I have the user here but it's only within this scope
        }
    });
}

但要做到这一点,它只能在该功能中使用。。。那么,人们通常会做些什么来了解整个应用程序中的用户呢?只需将其存储在应用程序中,如:

application.user = user;

还是使用User模型创建ID为User的商店,然后使用检索

launch: function () {
    var User = Ext.StoreManager.get('User');
    User.load(function(user) {
        // Do application logged in stuff
         self.getApplication().fireEvent('userLogsIn');
    });
}
someRandomFunction: function () {
    var user = Ext.StoreManager.get('User').getAt(0),
        email = user.get('email');
        console.log(email);
}

谢谢,Dominic

一般来说,您不能依赖于本地保存在JS应用程序中的任何信息。它可以相对容易地被伪造和更改。

您需要做的是将用户名/密码组合发送到服务器后端。然后,服务器应该返回加密的cookie,应用程序将在每次以下请求时将其发送回服务器。只有解密并验证此cookie服务器才能确定登录用户的身份。