ios - 使用 Json Data iOS 登录 App

标签 ios json wcf authentication

另一个关于解析Json数据的问题。

以前我使用 NsDictionary 来存储我的用户,以便他们可以登录我的应用程序,这并不是很理想,因为我必须发布更新才能添加新用户,所以我希望创建一种方法来解析Json数据,查看服务器上是否有匹配的用户。我已经创建了 WCF,它正在像这样返回数据..

{
"RetrieveUsersResult": [
    {
       "Active": true,
       "Email": "email@email.co.uk",
       "ID": 2,
       "Password": "password",
       "UserName": "user1 "
    },
   {
       "Active": false,
       "Email": "email@email.com",
       "ID": 3,
       "Password": "password2",
       "UserName": "user2 "
    }]                
}

所以这是返回我的用户列表。我创建了一个方法来检索数据并将其存储到数组中。

- (NSMutableArray *)parseJSONUsers{

    NSString *urlAsString = @"webaddress";
    NSURL *url = [NSURL URLWithString:urlAsString];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];


    NSMutableArray *retval = [[NSMutableArray alloc]init];


    [NSURLConnection
     sendAsynchronousRequest:urlRequest
     queue:[[NSOperationQueue alloc] init]
     completionHandler:^(NSURLResponse *response,
                         NSData *data,
                         NSError *error)
     {
         if ([data length] >0 && error == nil)
         {

             NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

             NSMutableArray *retrieveUsersResultArr = [NSMutableArray arrayWithArray:[jsonDict objectForKey:@"RetrieveLocationsResult"]];

             //Need to do something with retrieveUsersResultArr Here



         } else if ([data length] == 0 && error == nil)
         {
             NSLog(@"Nothing was downloaded.");
         }
         else if (error != nil){
             NSLog(@"Error = %@", error);
         }

     }];

    return retval;

    [retval release];
    [urlRequest release];
    [url release];
    [urlAsString release];

}

你能帮我检查一下 retrieveUsersResultArr 中是否有匹配用户名文本字段和密码文本字段的用户。

最佳答案

执行此操作的正确方法是将用户名和密码发送到 WCF Web 服务并在服务器端执行身份验证。在发送之前在应用程序中散列密码。更好的是,通过 HTTPS 将凭据发送到服务器。

按照您现在的做法,您冒着将每个用户的电子邮件地址和密码暴露给几乎所有发现您的不安全网络服务的人的风险。

关于ios - 使用 Json Data iOS 登录 App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20330819/

相关文章:

c# - WCF服务方法创建一个Process来运行MsTest,该进程不会执行

iphone - CoreData 获取具有相同值的实体

ios - XCTest - 如何查询导航栏标题中的子字符串

ios - 如何测试 RxSwift 变量和 RxCocoa Observable 之间的 UI 绑定(bind)?

javascript - 如何使用 Angular js 或 Javascript 解码为 UTF-8

javascript - 使用 PHP 在 Highcharts 中导入数据

wcf - 是否有任何理由将 WCF 接口(interface)保存在单独的文件中?

ios - Xcode 6.1 黑条- iOS7

android - 在 flutter 中解析来自 WordPress 自定义帖子类型的 JSON 数据

突发请求时客户端上的 wcf 死锁