如果用户在登录屏幕中按下复选标记,请记住登录用户名和密码

Posted

技术标签:

【中文标题】如果用户在登录屏幕中按下复选标记,请记住登录用户名和密码【英文标题】:Remember login username and password if user press the check mark in login screen 【发布时间】:2016-09-16 19:09:09 【问题描述】:

在我的应用程序中有使用名称 和密码字段登录并且有复选标记。我要做的是。如果用户按下复选标记,我想记住用户名和密码,这意味着如果用户再次按下应用程序,他将直接进入下一个屏幕而不是登录屏幕。如果用户没有按复选标记,则不想记住用户名和密码。

【问题讨论】:

ios persistent storage strategy的可能重复 如果您不关心安全性,您可以将用户名和密码存储在 NSUserDefaults 中。如果您想以安全的方式记住登录名和密码,我建议使用 Keychain Services。 developer.apple.com/library/content/documentation/Security/… @TyR 因为这是关于用户名和密码的,所以安全性很重要。 @rmaddy 我知道这很重要,但有时人们并不关心重要的事情。这就是为什么我说“如果你不关心安全”。 @TyR 我的评论真的是为 OP 准备的。他们需要明白这很重要。 【参考方案1】:

替代NSUserDefault,将值永久保存在keychain中。

获取四个文件(.h 和 .m)PDKeychainBindingsController 文件夹并将它们添加到您的 xCode 项目中。

导入头文件。 #import "PDKeychainBindings.h" 设置对象:- [[PDKeychainBindings sharedKeychainBindings] setObject:@"Pardeep" forKey:@"key_name"]; 从键获取对象:-NSString *folderPath=[[PDKeychainBindings sharedKeychainBindings] objectForKey:@"key_name"];

在我的blog post 中查找详细信息。

【讨论】:

【参考方案2】:

在 iOS 中有许多不同的方法可以将数据保存到磁盘 - 原始文件 API、属性列表序列化、SQLite、Core Data、NSCoding。

使用 NSURLCredential。实际上 NSURLCredential 使用起来要简单得多,因为它允许您存储用户名和密码。 查看以下链接了解更多信息: 1.AFNetworking and Cookies 2.What is the best way to maintain the login credentials in iOS?

【讨论】:

这是一个密码。安全很重要。如果密码正确散列,则仅使用NSUserDefaults 或许多其他选项。不要使用这些选项中的任何一个来存储明文密码。 你说得对 rmaddy 安全是主要因素之一。以上所有方式仅用于数据持久化方式。但对于安全钥匙串很有帮助

以上是关于如果用户在登录屏幕中按下复选标记,请记住登录用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

记住用户复选框的良好安全方式

EnterKey 在 VBA 用户窗体中按下按钮

Firebase 和 Xcode 8:在登录和插入活动指示器视图中添加“记住我”复选框

根据存储在共享首选项中的记住我状态导航到屏幕

登录页面上的防伪标记

本地存储-记住用户名