Titanium SDK 版本:1.6.1 iPhone SDK 版本:4.2
在 Appcelerator 应用程序 (iPhone) 中处理用户“会话”时,我对最佳实践感到有些困惑。就像现在我将用户令牌保存在一个属性中,然后在每个页面上检查它是否仍然存在(比如在网页上)。这不是很好,必须有更好的方法。
那么,处理用户登录会话的最佳实践是什么?有人可以为我解释一下这个过程吗?一步步。
感谢所有输入!
Titanium SDK 版本:1.6.1 iPhone SDK 版本:4.2
在 Appcelerator 应用程序 (iPhone) 中处理用户“会话”时,我对最佳实践感到有些困惑。就像现在我将用户令牌保存在一个属性中,然后在每个页面上检查它是否仍然存在(比如在网页上)。这不是很好,必须有更好的方法。
那么,处理用户登录会话的最佳实践是什么?有人可以为我解释一下这个过程吗?一步步。
感谢所有输入!
我一直在处理 iOS 上的身份验证验证,如下所示:
在第一次加载的 app.js 中,我检查令牌是否有效,如果不是,我会显示登录信息。
我使用类似于以下的方法
功能需要2登录(){ var lastLogin = Ti.App.Properties.getString('last_login'); if(lastLogin.length==0){ 返回真; } //添加一些日期验证以使任何令牌过期 // 根据验证规则返回一个值 };
函数管理登录(){ 如果(需要2登录()){ wLogin.open(); //打开登录窗口 }别的{ wMain.open(); //打开主窗口 } };
对于恢复处理,我在 app.sj 中使用以下内容:
1) 检查我们是否在 iOS 4+
function isiOS4Plus(){
// add iphone specific tests
if (Ti.Platform.name == 'iPhone OS'){
var version = Ti.Platform.version.split(".");
var major = parseInt(version[0],10);
// can only test this support on a 3.2+ device
if (major >= 4){
return true;
}
}
return false;
};
2)然后添加处理程序
if (isiOS4Plus()){
// fired when an app resumes for suspension
Ti.App.addEventListener('resumed',function(e){
//check if login is still valid
manageLogin(); //I just reuse my login logic on resume
});
}
请注意,这假设仅在应用程序启动或恢复时才需要检查身份验证令牌。这应该涵盖大多数情况,但也有一些不适合的情况。