Session ExtJS4会话管理

Session ExtJS4会话管理,session,extjs,extjs4,extjs-mvc,Session,Extjs,Extjs4,Extjs Mvc,我有一个基于web的应用程序,其中必须管理用户会话 在app.js中,我将启动配置用作: launch: function(){ Ext.create('myproject.view.LoginForm') } LoginForm:将显示登录对话框,并调用登录控制器与服务器通信,以验证用户提供的凭据 因此,当用户刷新页面时,Extjs要求登录,这是因为我没有在这里检查会话,会话详细信息应该如何存储在Extjs客户端中并进行检查以避免提示用户登录,除非用户已注销?以及如何管理用户会话?用

我有一个基于web的应用程序,其中必须管理用户会话

在app.js中,我将启动配置用作:

launch: function(){
    Ext.create('myproject.view.LoginForm')
}
LoginForm:将显示登录对话框,并调用登录控制器与服务器通信,以验证用户提供的凭据


因此,当用户刷新页面时,Extjs要求登录,这是因为我没有在这里检查会话,会话详细信息应该如何存储在Extjs客户端中并进行检查以避免提示用户登录,除非用户已注销?以及如何管理用户会话?

用户身份和会话信息必须存储在服务器端。通常,一旦用户成功进行身份验证,就会设置cookie,以避免再次提示用户。此cookie从服务器发送,并自动存储在浏览器中,并在页面刷新时发送回服务器进行检查。服务器应验证cookie是否正确,以允许用户继续

根据@existdisle下面的注释


在启动方法中,只需在创建登录表单之前运行会话检查。无论这是cookie检查还是直接向服务器发出的请求,会话检查的结果都可以触发登录表单的创建,或者您用于创建应用程序其余部分的任何其他逻辑都可以使用

内部登录控制器

// Storing user details in session / cookies 
Ext.util.Cookies.set("key", value); 
退出按钮时

// remove user details from cookies
Ext.util.Cookies.set("key", value); 
在App.js中

autoCreateViewport: false,

launch: function(){

    var key= Ext.util.Cookies.get("key");

    if (key=== undefined || key== 'null' || key== null || key.length <= 0){
        // load login UI as user is not logged in
        Ext.create('app.view.LoginForm');
    }
    else {
        // load main UI as user is already logged in
        Ext.create("app.view.Viewport");
    }
}
autoCreateViewport:false,
启动:函数(){
var key=Ext.util.Cookies.get(“key”);

如果(key==undefined | | key==null | | | key==null | | key.length Dbrin,您是r8,但在extjs中,当我刷新页面时,应用程序会将我重定向到登录页面,因为我有配置启动:function(){Ext.create('myproject.view.LoginForm')},在服务器端,我不会使任何会话无效,但每次ext询问我详细信息时,如何处理此问题在启动方法中,只需在创建登录表单之前运行会话检查。无论这是cookie检查还是直接向服务器发出的请求,会话检查的结果都可以触发登录的创建表单,或创建应用程序其余部分的任何其他逻辑。例如,启动:function(){somecheck:function(){if(loggedin){//build rest of app}其他{//show login form}}