Mysql
 sql >> база данни >  >> RDS >> Mysql

XCode, удостоверяване и NSUserDefaults

Доста сте близки с мисленето си. Използвам много подобен подход към процеса на влизане на потребителя.

Понастоящем сол и хеширам имейла и паролата в токен от 1 40 символа. Ако влизането се върне успешно, запазвам токена в NSUserDefaults. Използвам този маркер за всички други уеб заявки занапред, докато потребителят не излезе, след което изтривам потребителските настройки по подразбиране.

Ето няколко фрагмента, които използвам за същия процес:

// see if a login already exists
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.token = [defaults stringForKey:@"token"];

// if the token is nil/blank, launch login view
if(self.token == nil || [self.token isEqualToString:@""]) {
    [self loadStartView];
    return;
}

// build the request to update status
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];
NSString *stringData = [NSString stringWithFormat:@"<your api string here"];
NSString *requestData = stringData;
NSData *myRequestData = [NSData dataWithBytes: [requestData UTF8String] length: [requestData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:[NSString  stringWithFormat:@"<your url request here>"]]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: myRequestData];
NSData *jsonData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil];
NSString *json = [[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding] autorelease];
NSDictionary *payloadData = [json JSONValue];

[request release];

if([[payloadData objectForKey:@"success"] boolValue]) { // this is designed around my api, but you get the idea
    //NSLog(@"updateStatus: %@", payloadData);
    // updates the api version for every call
    [defaults setObject:self.token forKey:@"token"];
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предложен начин за изпълнение на множество sql изрази в python?

  2. mysqld:Не мога да променя директорията в данни. Сървърът не се стартира

  3. Mysql JDBC драйвер ClassNotFoundException

  4. mysql не може да вмъкне, защото няма стойност по подразбиране?

  5. Възможно ли е да се изместят данните в колоната надолу в MySQL таблица?