我有一个使用wcf web服务的应用程序,成功登录后,我想激活一个10分钟的会话。如果用户空闲或应用程序处于后台10分钟,则会话将过期,应用程序应再次请求登录详细信息。
我已经使用钥匙串存储用户名和密码并且它可以工作但我想添加会话,以便在会话未过期时将用户重定向到主页,如果会话过期则重定向到登录页面...
我知道这是一个重复的问题,但我必须写它,因为我没有得到其他问题的正确答案。请帮忙..
答案 0 :(得分:10)
使用此Link这对我有用。
使用 NSUserDefault 为ios创建会话。
我还使用本教程在ios中创建了Session。
修改强>
我的应用程序的第一页有一个登录屏幕
如果登录成功通过服务器进行身份验证,那么我存储了我的用户名&密码 NSUserDefault 就像这样:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:userNameText forKey:@"username"];
[defaults setObject:passWordText forKey:@"password"];
[defaults synchronize];
登录按钮的Onclick 。 &安培;重定向到仪表板。
在仪表板中,如果用户点击退出,就像这样删除所有数据,就可以使用退出按钮。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:@"username"];
[defaults removeObjectForKey:@"password"];
[defaults synchronize];
&安培;在其他情况下,当用户关闭应用程序 NSUSerDefault 当您第二次打开应用程序时存储,请检查用户名& 密码存储在 NSUserDefault 中
在登录页面的ViewDidAppear
期间。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// check if user is alraidy Login
if([defaults objectForKey:@"username"]!=nil && ![[defaults objectForKey:@"username"] isEqualToString:@""]){
// Redirected to Dashboard.
}
如果成功,则重定向到仪表板。
答案 1 :(得分:0)
你可以使用AFNetworking framework,它会自动存储你的会话,我测试了我的API并且它有效