最佳用户登录实施iOS

时间:2014-03-23 20:46:49

标签: ios objective-c

我是一名最近转移到iOS开发人员的网站开发人员。我已经为我的网站实现了一个登录系统,我想在我的应用程序中集成相同的功能。我将在应用程序中使用AFNetworking库与Web服务器进行通信,以发出POST请求。

但是,我不确定如何处理有关用户登录的事情,例如用户之前是否已登录?使用Web,我会做cookie和会话,但我不确定这是否是iOS的最佳方法。我还读到一些人为了安全起见而谈论在iOS钥匙串中存储东西。任何人都可以对实现我想要的最佳实践有所了解吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

在Objective-C中,可以使用类似的NSUserDefaults

例如,要保存bool值,您可以执行以下操作

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"IsLoggedIn"];
[[NSUserDefaults standardUserDefaults] synchronize];

以后加载你写的值

BOOL isLoggedIn = [[NSUserDefaults standardUserDefaults] boolForKey:@"IsLoggedIn"];

希望它有所帮助!

答案 1 :(得分:1)

我会使用NSUserDefaults,但我认为你应该为你的iOS客户端使用基于令牌的方法。当您登录并获得成功响应时,您应该使用以下代码将您的令牌存储在用户默认值中。

[[NSUserDefaults standardUserDefaults] setValue:token forKey:@"auth_token"];
[[NSUserDefaults standardUserDefaults] synchronize];

您的退出功能可能如下所示。

- (void)logout {
    [[NSUserDefaults standardUserDefaults] setValue:nil forKey:@"auth_token"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

每次发出Web请求时都可以发送此auth_token,以便服务器知道这些请求是否已获得授权。