gpt4 book ai didi

iphone - iOS:如何在登录后对用户进行身份验证(用于自动登录)?

转载 作者:技术小花猫 更新时间:2023-10-29 10:57:52 25 4
gpt4 key购买 nike

我想使用自动登录功能。因此,当用户打开应用程序时,他会被委派到“登录屏幕”。当他成功登录后,他应该被引导至他的帐户。我称之为“帐户屏幕”。现在,当用户重新启动应用程序时,他应该直接被定向到他的帐户,而不会看到“登录屏幕”。

登录功能在我的项目中已经可以正常使用(用户名和密码保存在UserDefault中),但每次关闭应用程序时,我都必须重新登录。所以我的问题是:如何自动登录用户?或者更好地说:如何检查数据(保存在 UserDefault 中)是否与数据库 (MYSQL) 中的数据相同?

最佳答案

  1. 用户第一次登录时,保存用户iPhone 钥匙串(keychain)中的凭据。
  2. 再次打开该应用时,您检查用户凭据是否出现在钥匙串(keychain)中,如果是,您的代码应该调用登录逻辑并进行自动登录并在登录屏幕后转到屏幕。如果不,那么你应该显示登录屏幕。您可以在 AppDelegates applicationDidFinishLaunching 中执行此逻辑。
  3. 每当用户点击注销按钮时,从首先是钥匙串(keychain),然后返回到登录 Controller 。

只需在用户登录时将登录凭据添加到钥匙串(keychain),并且仅在用户单击注销按钮后将其删除。如果用户在没有注销的情况下退出应用程序,那么凭据仍将在钥匙串(keychain)中,您可以在用户返回应用程序时检索它们。

编辑:我想我必须再添加一件事..如果您的登录逻辑需要时间(比如您使用网络请求或其他方式登录),请将登录逻辑代码放在您的登录 ViewController 而不是ApplicationDelegate,并在自动登录过程中使用任何事件指示器。

编辑:我编辑了整个答案,用钥匙串(keychain)替换了 NSUserDefault。 This线程解释了原因。

关于iphone - iOS:如何在登录后对用户进行身份验证(用于自动登录)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com