cookie的问题

今天遇到一个问题,当用户修改密码之后,重新跳到登录页,随便输入密码也可登录,并且可以正常返回用户的账户信息

后来发现 只要是NSURLRequest请求,内部会默认保存服务器返回的cookie并保存在沙盒下。

等修改密码之后,我们调用

  NSHTTPCookieStorage *cookie = [NSHTTPCookieStorage sharedHTTPCookieStorage];

   for(NSHTTPCookie *cook in [cookie cookies]){

           NSLog(@"cookie:---%@",cook);

     }

会打印出本地cookie

cookie的问题_第1张图片

 

我们可以在用户修改密码或者用户退出登录之后,调用以下方法清空cookie

    NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];

    NSArray *cookieArray = [NSArray arrayWithArray:[cookieJar cookies]];

    for (id obj in cookieArray) {

      [cookieJar deleteCookie:obj];

    }

或者更改cookie本地策略

//NSHTTPCookieAcceptPolicyAlways:保存所有cookie,这个是默认值

//NSHTTPCookieAcceptPolicyNever:不保存任何响应头中的cookie

//NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain:只保存域请求匹配的cookie

[[NSHTTPCookieStorage sharedHTTPCookieStorage]setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];

 

你可能感兴趣的:(移动开发)