9

我有一个使用 wcf Web 服务的应用程序,成功登录后,我想激活一个 10 分钟的会话。如果用户处于空闲状态或应用程序在后台运行了 10 分钟,则会话应该过期并且应用程序应该再次询问登录详细信息。

我已经使用钥匙串来存储用户名和密码并且它可以工作但是我想添加会话,以便如果会话未过期,用户将被重定向到主页,如果会话过期,用户将被重定向到登录页面......

我知道这是一个重复的问题,但我不得不写它,因为我没有从其他问题中得到正确的答案。请帮忙..

4

2 回答 2

10

使用此链接这对我有用。

使用NSUserDefault为 ios 创建 Session。

我还使用本教程在 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.
}

如果成功则重定向到仪表板。

于 2013-02-05T08:35:26.647 回答
0

您可以使用AFNetworking 框架,它会自动存储您的会话,我已经测试了我的 API 并且它有效

于 2014-01-23T07:48:25.560 回答