iOS开发中保持用户登录状态

一、利用保存Cookie值实现

1、第一次登录成功后保持Cookie

    /** 保存登录的Cookie*/

    NSArray * cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];

    NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: cookies];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject: cookiesData forKey:@"Cookie"];

之后每一次登录成功也一样。


2、下一次进入APP时判断是否有Cookie:

    NSArray *cookies02 = [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"Cookie"]];

  (1)Cookie时需要将Cookie写入

    NSHTTPCookieStorage * cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

    for (NSHTTPCookie * cookie in cookies02){

        [cookieStorage setCookie: cookie];

    }

(2)没有Cookie时,直接跳转登录页面重写登录。


3、主动退出登录时:

    /** 退出登录时清除Cookie*/

    NSHTTPCookieStorage * manager = [NSHTTPCookieStorage sharedHTTPCookieStorage];

    NSArray * cookieStorages = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];

    for (NSHTTPCookie *cookie in cookieStorages) {

        [manager deleteCookie:cookie];

    }

    [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"Cookie"];



二、利用保存Token实现





猜你喜欢

转载自blog.csdn.net/qq_37191821/article/details/80992377
今日推荐