After the user logs in, stores the user information, logs off

Source: Internet
Author: User

Store some user additional information to preferences

StaticNSString *ConstKkeyuserid =@"ID";StaticNSString *ConstKkeyusername =@"username";StaticNSString *ConstKkeyname =@"name";StaticNSString *ConstKkeybio =@"Bio";StaticNSString *ConstKkeyweibo =@"Weibo";StaticNSString *ConstKkeyblog =@"Blog";StaticNSString *ConstKkeythemeid =@"theme_id";StaticNSString *ConstKkeycreatedat =@"Created_at";StaticNSString *ConstKkeystate =@" State";StaticNSString *ConstKkeyportrait =@"new_portrait";StaticNSString *ConstKkeyemail =@"Email";StaticNSString *ConstKkeyprivatetoken =@"Private_token";StaticNSString *ConstKkeyadmin =@"Is_admin";StaticNSString *ConstKkeycancreategroup =@"Can_create_group";StaticNSString *ConstKkeycancreateproject =@"Can_create_project";StaticNSString *ConstKkeycancreateteam =@"Can_create_team";StaticNSString *ConstKkeyfollow =@"Follow";@implementationUser+ (void) Saveuserinformation: (Gluser *) User {Nsuserdefaults*userdefaults =  [Nsuserdefaults Standarduserdefaults];    [Userdefaults setFloat:user.userId Forkey:kkeyuserid];    [Userdefaults SetObject:user.username Forkey:kkeyusername];    [Userdefaults SetObject:user.name Forkey:kkeyname];    [Userdefaults SetObject:user.bio Forkey:kkeybio];    [Userdefaults SetObject:user.weibo Forkey:kkeyweibo];    [Userdefaults SetObject:user.blog Forkey:kkeyblog];    [Userdefaults setInteger:user.themeId Forkey:kkeythemeid];    [Userdefaults setObject:user.state forkey:kkeystate];    [Userdefaults setObject:user.createdAt Forkey:kkeycreatedat];    [Userdefaults setObject:user.portrait forkey:kkeyportrait];    [Userdefaults SetObject:user.email Forkey:kkeyemail];    [Userdefaults SetObject:user.private_token Forkey:kkeyprivatetoken];    [Userdefaults setBool:user.admin forkey:kkeyadmin];    [Userdefaults SetBool:user.canCreateGroup Forkey:kkeycancreategroup];    [Userdefaults SetBool:user.canCreateProject Forkey:kkeycancreateproject]; [Userdefaults SetBool:user.canCreatETeam Forkey:kkeycancreateteam];        [Userdefaults SetObject:user.follow Forkey:kkeyfollow]; [Userdefaults synchronize];}

Password-to-keychain storage via services and mailboxes

+ (void) Saveaccount: (NSString *) email Andpassword: (nsstring *) password {    [sskeychain SetPassword: Password Forservice:@ "[email protected]"  account:email];}

Remove password via service and mailbox when needed

- (void) Viewdidappear: (BOOL) animated{nsuserdefaults*userdefaults =[Nsuserdefaults Standarduserdefaults]; NSString*email = [Userdefaults objectforkey:@"Email"]; NSString*password = [Sskeychain passwordforservice:@"[email protected]"Account:email]; _accounttextfield.text= email?:@""; _passwordtextfield.text= password?:@""; if(!_accounttextfield.text.length | |!_passwordtextfield.text.length) {Submit.alpha=0.4; Submit.enabled=NO; }}

Logout operation, not delete the preferences in the mailbox and keychain password,

#pragmamark-logout-(void) logout{Nsuserdefaults*userdefaults = [Nsuserdefaults Standarduserdefaults];    [Userdefaults Removeobjectforkey:kkeyprivatetoken];    [Userdefaults Removeobjectforkey:kkeyuserid];    [Userdefaults Removeobjectforkey:kkeyusername];    [Userdefaults Removeobjectforkey:kkeyname];    [Userdefaults Removeobjectforkey:kkeybio];    [Userdefaults Removeobjectforkey:kkeyweibo];    [Userdefaults Removeobjectforkey:kkeyblog];    [Userdefaults Removeobjectforkey:kkeythemeid];    [Userdefaults Removeobjectforkey:kkeystate];    [Userdefaults Removeobjectforkey:kkeycreatedat];    [Userdefaults removeobjectforkey:kkeyportrait];    [Userdefaults Removeobjectforkey:kkeyprivatetoken];    [Userdefaults Removeobjectforkey:kkeyadmin];    [Userdefaults Removeobjectforkey:kkeycancreategroup];    [Userdefaults Removeobjectforkey:kkeycancreateproject];    [Userdefaults Removeobjectforkey:kkeycancreateteam];        [Userdefaults Removeobjectforkey:kkeyfollow]; //Delete User dynamics and project cacheNsuserdefaults *cache =[Nsuserdefaults Standarduserdefaults];  for(inti =3; I <6; i++) {NSString*key = [NSString stringWithFormat:@"type-%d", I];    [Cache Removeobjectforkey:key]; } [Cache Removeobjectforkey:@"type-9"]; //[Self.navigationcontroller Poptorootviewcontrolleranimated:yes];Projectsviewcontroller *projectviewcontroller = [ProjectsviewcontrollerNew]; Uinavigationcontroller*front =[[Uinavigationcontroller alloc] initwithrootviewcontroller:projectviewcontroller];    [Self.revealcontroller Setfrontviewcontroller:front]; [Self.revealcontroller ShowViewController:self.revealController.frontViewController];}

After the user logs in, stores the user information, logs off

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.