如何判断用户是否登录
2015-09-18 10:41
483 查看
的iOS:如何验证登录后,用户(自动登录)?
iphone ios xcode autologin我想自动登录函数。因此,当打开的应用程序,他被委派给一个“登录屏幕”。当他登录的,他应该被引导到他的账户。我把这称为“帐户屏幕”。现在,当重新启动应用程序,他应该得到直接定向到他的帐户,没有看到“登录屏幕”。 登录函数已经在我的项目中工作正常(和密码保存在UserDefault) CodeGo.net,但我关闭该应用程序,我要再次登录。所以我的问题是:如何以自动或更好地说:我要如何检查数据(保存在UserDefault)是在数据库(MySQL的)? 在此先感谢。
本文地址 :CodeGo.net/447673/
-------------------------------------------------------------------------------------------------------------------------
1. 对于优先次登录时,您保存 凭据在iPhone的钥匙串。 当应用程序被再次打开,你检查凭证 目前在钥匙串,如果是,你的代码应该调用login 逻辑和做自动登录和登录后,屏幕进入画面。如果没有, 那么你应该显示登录屏幕。您可以在AppDelegates applicationDidFinishLaunching做到这一点的逻辑。 点击注销按钮 CodeGo.net,从凭证 keychain优先,并返回到登录控制器。 只需添加登录凭据keychain日志中,仅将其删除点击注销按钮。退出该应用程序没有退出,然后凭据仍然会在钥匙串,你可以检索它们返回给应用程序。 编辑:我想我必须补充一件事。如果您的登录逻辑需要(比如你的web请求,或将登录逻辑代码在你登录的ViewController,而不是ApplicationDelegate,任何活动指示灯在自动登录过程。 编辑:我编辑了完整的答案,取代NSUserDefaultkeychain。这个线程解释了为什么。
2. 同时保存和密码,它是高度应保存在钥匙串,而不是NSUserDefaults。 请参考这个帖子以更好地理解:
3. 要回答这个问题:如果你想自动登录与钥匙串数据,使用free的“SFHFKeychainUtils”。它保存的密码和钥匙串。如果你想找回它,只是保存在NSUserDefaults,你可以得到密码轻松。 在这里,我们去: SIFI音响 SIFI音响( 如何SFHFKeychainUtils:
4. 的NSUserDefaults和SSKeychain。 NSUserDefaults存储河畔SSKeychain来存储密码。 这是代码保存的凭证
NSString *user = self.username.text; NSString *password = self.pass.text; [SSKeychain setPassword:password forService:@"achat" account:user]; NSUserDefaults *dUser = [NSUserDefaults standardUserDefaults]; [dUser setObject:user forKey:@"user"]; [dUser synchronize];
这是为了检索凭据的代码
NSUserDefaults *eUser = [NSUserDefaults standardUserDefaults]; NSString *savedUser = [eUser objectForKey:@"user"]; if (!savedUser) { UIAlertView *uhoh = [[UIAlertView alloc] initWithTitle:@"Oops!" message:@"Please enter your username and password." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil]; [uhoh show]; } else { NSString *savedPass = [SSKeychain passwordForService:@"achat" account:savedUser]; self.username.text = savedUser; self.pass.text = savedPass; }
相关文章推荐
- 引用与指针的异同-基础篇
- ASP.NET如何使用JSON
- 脚本乐园 shell 中对小数进行比较的方法总结
- Linux操作系统中FastDFS部署手册
- First Bad Version
- 20-EMM Procedure 8&9. Handover & Cell Reselection with TAU
- puremvc 入门与思考
- centos安装locate
- IOS -- iOS 8 CoreLocation 中状态栏(StatusBar)的细节问题
- android system.prop使用(1)
- 谭浩强是脑残的精神领袖吗?
- puremvc 入门与思考
- linux下查看进程内存使用情况
- [LeetCode] ZigZag Conversion
- jquery实现隐藏在左侧的弹性弹出菜单效果
- ABBYY FlexiCapture 帮助韩国商人申请产品专利
- A、B站估值步步高攀,也走出两条不同的弹幕视频光明大道
- android 超简单的手写签名Demo
- 配置环境变量
- PureMVC QA:Where Should I Declare Notification Name Constants