2

ログイン/登録などができる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 モデルを使用して User の ID を持つストアを作成し、次のように取得しますか?

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);
}

ありがとう、ドミニク

4

1 に答える 1

1

一般的に言えば、JS アプリケーションでローカルに保存した情報を信頼することはできません。なりすましや改ざんは比較的簡単にできます。

ユーザー名とパスワードの組み合わせをサーバーのバックエンドに送信する必要があります。次に、サーバーは暗号化された Cookie を返す必要があります。この Cookie は、次の各要求でアプリケーションがサーバーに送り返します。この Cookie サーバーを解読して検証することによってのみ、ログインしているユーザーの身元を確認できます。

于 2012-07-08T22:57:30.907 に答える