我有一个在首次启动时显示登录屏幕的应用程序。当用户登录时,我给他们一个选项,让他们保持登录状态。这会在我的服务器上建立一个过期的 session 。做以下事情最合适的方法是什么:
- 存储用户是否登录。
- 根据有效性在应用程序启动时向用户提供登录或注销选项 他们的 session 。
- 如果他们选择注销(或者他们的 session 已过期),则结束他们当前的 session 。
我猜这是一种常见的设计模式,应该有尝试和测试的方法来做到这一点,但我似乎使用了错误的术语进行搜索,因为我没有找到满意的答案。
最佳答案
一些想法:
- 我建议您将敏感的 session 信息存储在应用程序的 KeyChain 中。我不会在这里存储用户是否登录的状态,只是将其存储在内存中。当 session 不再存在或用户已注销时,您的网络服务应该能够返回错误。
- 如果后端确定 session 的有效性,那么您应该有一个 RESTful 调用,您可以在其中传递 session 信息,返回 session 是否仍然有效。
- 同样,如果他们选择注销,那么您可以对您的后端执行另一个调用以传递 session 信息。
对于钥匙串(keychain),使用 KeychainItemWrapper从苹果的例子。
关于ios - 根据用户登录与否管理 iOS 应用程序 UI 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946811/