如何在ExtJS4中维护用户的登录状态?

时间:2012-06-28 12:57:26

标签: extjs4 extjs4.1

我目前正在为使用ExtJS4开发的Web应用程序实施状态管理。

例如,在Ext.application中,我写道:

Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
Ext.Component.prototype.stateful = false;

无论哪个控件都应保持其状态,我们都会设置该控件的stateful属性true。在下面的示例中,组合框的有状态属性为true且工作正常(这些状态将用于后续登录用户):

{
    xtype: 'combo'
    stateful: true,
    stateId: 'myid'
}

现在我想知道是否有办法根据登录的用户在同一台​​机器上维护状态。例如,当user1登录并注销时,组合框中选择的值为10,而user2登录并注销组合框中选择的值为20。

我想以这样的方式维护状态:当user1重新登录时,组合框应该显示10,而对于user2,组合框应该显示20.是否可以保持状态为per-用户基础,而不是整个应用程序(机器基础)?

谢谢&问候, Mani Kumar Y

1 个答案:

答案 0 :(得分:4)

一种选择是根据当前用户调整stateId,例如stateId: username + '-myid'。这样,当“user1”登录时,stateId为user1-myid,当user2登录时,stateId为user2-myid。这样,状态可以单独存储和加载,具体取决于当前用户。