我在许多应用程序中看到,您只需登录一次应用程序,然后在下次打开应用程序时,不需要再次输入用户名和密码。我怎样才能在SFHFKeychainUtils的帮助下做到这一点?帮助iphone会话登录
0
A
回答
1
你几乎已经回答了你的问题。您可以使用SFHFKeychainUtils包装器将凭证存储在应用程序的钥匙串中。当应用程序加载时,它会检查是否有密码。如果没有,请提示用户登录并相应地存储用户名&。
// Application Loads...
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
NSString *username = [standardDefaults stringForKey:@"kApplicationUserNameKey"];
if (username) {
NSError *error = nil;
NSString *password = [SFHFKeychainUtils getPasswordForUsername:username andServiceName:@"com.company.app" error:&error];
// Check password...
} else {
// No username. Prompt the user to enter username & password and store it
username = @"userEnteredUsername";
NSString *password = @"userEnteredPassword";
[standardDefaults setString:username forKey:@"kApplicationUserName"];
NSError *error = nil;
BOOL storeResult = [SFHFKeychainUtils storeUsername:username andPassword:password forServiceName:@"com.company.app" updateExisting:YES error:&error];
}
这显然是不完整的,没有以适当的方式组织,但你应该能够理解基本流程。
0
您可以为此使用NSUserDefaults。
[[NSUserDefaults standardUserDefaults] setObject:username forKey:@"username"];
[[NSUserDefaults standardUserDefaults] setObject:password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
下一次用户打开您的应用程序,你可以简单地得到这个信息:
NSString *username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username"];
NSString *password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
+1
不应将证书存储在'NSUserDefaults';他们应该存储在安全的位置,如钥匙链。 – 2011-05-07 05:52:52
+0
很高兴知道,刚刚发现一篇文章说用户默认存储在plist文件中的开放文本,在您执行备份时会同步。谢谢迪伦。 – romaonthego 2011-05-07 06:15:45
相关问题
- 1. 需要帮助的PHP会话 - 登录
- 2. 需要帮助使PHP登录会话持续更长
- 3. PHP会话帮助
- 4. PHP会话帮助
- 5. PHP会话帮助
- 6. 在Rails中登录会话助手
- 7. CakePHP的登录帮助
- 8. 帮助与asp登录SQL
- 9. 帮助检查登录
- 10. ASP.net登录控件帮助
- 11. 会话帮助问题
- 12. 需要Drupal会话帮助
- 13. 设置会话的帮助
- 14. 帮助PHP会话开始
- 15. 登录会话ID
- 16. php登录会话
- 17. vb登录会话
- 18. ASP.net会话登录
- 19. 登录Telnet会话
- 20. Laravel登录会话
- 21. 帮助错误使用OAuth2登录谷歌的iPhone
- 22. 登录系统与会话
- 23. Codeigniter - 会话登录错误
- 24. PHP登录和会话
- 25. django的登录会话
- 26. PHP登录会话创建
- 27. C# - 登录会话列表
- 28. PHP会话登录系统
- 29. php会话登录系统
- 30. 会话变量登录
的问题是,SFHF的需求,以用户名来检查密码是否存在与该用户名.. 。所以我怎样解决这个问题 – adit 2011-05-07 05:42:14
你可以使用一个固定的用户名。 另外,为了将来的参考,请说清楚你到底有什么问题。在您的原始文章中,您引用了用户名/密码方案。 – 2011-05-07 05:45:26
是的,实际上它是正确的..在登录页面中,我们总是看到一个用户名和密码...所以在这种情况下,您建议硬编码用户名? – adit 2011-05-07 05:49:35