ExtJS:如何只存储一次用户的登录信息?

时间:2013-06-20 22:21:20

标签: php javascript authentication extjs login

我正在使用Ext.Ajax.request()来访问一个PHP页面,该页面为我提供了一些用户特定信息作为登录过程的一部分。基本上我想在ExtJS中存​​储一些变量(cookie,会话信息等)。我创建了一个包含所需字段的模型和一个商店来保存它。即使身份验证只进行一次,我想确保在给定时间内只有一个用户信息的副本。我想使用该信息再次访问PHP而无需再次进行身份验证(cookie)。 这是我如何获取并存储它:

Ext.Ajax.request({
            url: 'api/get.php',
            params: {
                user : usr,
                pass : pass
            },

            success: function(response)
            {
                var text = response.responseText;
                var jtext = Ext.JSON.decode(text);
                var login = jtext.loginData;

                model.set('username', login.username);
                model.set('cookie', login.cookie);
                model.set('password', login.password); // doing this feels soo wrong!
                store.insert(0, model);
                store.sync();
                console.log(store.getCount());
            }
        });

更好的方法是什么?由于我现在使用的是外部(对PHP)服务,我只检查用户/传递是否正确,如果是,我将它从客户端传递给PHP函数,它们做任何与它们有关的事情。外部服务,每次使用它们进行身份验证。或者,我可以每次将cookie传递给PHP,然后将其传递给PHP。我还可以将JS< - > PHP cookie映射到PHP< - >服务cookie,这样会更好。

干杯!

1 个答案:

答案 0 :(得分:0)

Ext.util.Cookies.set('myObj',Ext.encode(obj))

使用类似的内容以及何时使用

id = (Ext.decode(Ext.util.Cookies.get('myObj'))).id