【问题标题】:How to create and manage session in iphone app?如何在 iPhone 应用程序中创建和管理会话?
【发布时间】:2013-01-20 02:27:51
【问题描述】:

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

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

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

【问题讨论】:

标签: iphone ios session


【解决方案1】:

您可以使用AFNetworking framework,它会自动存储您的会话,我已经测试了我的 API 并且可以正常工作

【讨论】:

  • AFNetworking 是如何出现的?它用于检查网络连接。
【解决方案2】:

使用这个Link 这对我有用。

使用 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 存储在您当时第二次打开应用程序时检查 wathher username & password存储在 NSUserDefault登录页面ViewDidAppear期间。

  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    // check if user is alraidy Login
    if([defaults objectForKey:@"username"]!=nil  && ![[defaults objectForKey:@"username"] isEqualToString:@""]){
        // Redirected to Dashboard.
}

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

【讨论】:

  • 你能指定你是如何使用 NSUserDefault 创建会话的吗?
  • 好吧,这只是用于自动登录,如果用户长时间处于空闲状态,则不会启动或终止会话..
  • 你应该尝试自己使用 NStimer 它只是提示
  • 更多信息参考这个例子github.com/tejaswiyvs/AutoLogoutForiOS
  • 如果通过其他设备在服务器端更改密码怎么办?
猜你喜欢
  • 2014-04-18
  • 1970-01-01
  • 2016-01-27
  • 2020-04-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多