我有一个基于web的应用程序,在这个应用程序中,必须管理用户会话。
在app.js中,我将启动配置用作:
launch: function(){
Ext.create('myproject.view.LoginForm')
}LoginForm :将显示登录对话框并调用登录控制器,用于与服务器通信,以验证用户提供的凭据。
因此,当用户刷新页面Extjs请求登录时--这是因为我没有在这里签入会话--应该如何将会话详细信息存储在Extjs客户端并检查以避免提示登录,除非用户已经注销?以及如何管理用户会话?
发布于 2013-09-27 14:06:08
会话管理可以使用
内部登录控制器
// Storing user details in session / cookies
Ext.util.Cookies.set("key", value); On注销按钮
// remove user details from cookies
Ext.util.Cookies.set("key", value); In 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");
}
}发布于 2013-09-26 05:20:23
用户标识和会话信息必须存储在服务器端。通常,一旦用户成功地进行身份验证,就会设置cookie,以避免再次提示用户。此cookie从服务器发送,并自动存储在浏览器中,然后发送回服务器,以便在页面刷新时进行检查。如果确定允许用户继续,服务器应该验证cookie。
Per @生死存亡注释如下
在启动方法中,只需在创建登录表单之前运行一个会话检查即可。无论这是cookie检查还是直接到服务器的请求,会话检查的结果都可以触发登录表单的创建,或者其他用于创建应用程序其余部分的逻辑。
https://stackoverflow.com/questions/19019902
复制相似问题