4

MS Dynamics CRM 2011 用の iPad アプリを作成したいと考えています。AD ユーザー名とパスワードを使用して世界中のどこからでもログインできる CRM システムがあります。

CRM には Discovery サービス、Organization Service、OData Service が付属していることは知っています。しかし、これらのサービスをどのように使用すればよいかわかりません。ユーザーを認証する方法を知りたいですか?

これは私が見つけたが動作しないサンプルコードです.:(

NSString *username = @"domain/username";
NSString *password = @"password";
NSString *loginURL = @"http://server/OrgName/XRMServices/2011/OrganizationData.svc/";

NSURL *url = [NSURL URLWithString:loginURL];

NSString *JSONString = [NSString stringWithFormat:@"{\"user id\":\"%@\",\"password\":\"%@\"}", username, password];

NSData *JSONBody = [JSONString dataUsingEncoding:NSUTF8StringEncoding];

NSMutableURLRequest *loginRequest = [[NSMutableURLRequest alloc] initWithURL:url];
loginRequest.HTTPMethod = @"POST";
loginRequest.HTTPBody = JSONBody;

NSOperationQueue *queue = [NSOperationQueue new];

[NSURLConnection sendAsynchronousRequest:loginRequest
                 queue:queue
                 completionHandler:^(NSURLResponse *response, NSData *data, 
                                     NSError *error){

                                   // Manage the response here.
                                    [self fetchedData:data];
                                   NSLog(@"error:%@", error);
                                   NSLog(@"response:%@", response);}];
    }

ご協力いただきありがとうございます。

4

2 に答える 2

0

私が見たほとんどの実装と製品は、メディエーション サーバーまたはサービスを使用して呼び出しを CRM にプロキシします。利用可能な REST サービスは、一般的な CRUD 操作には問題ありませんが、他の SDK が提供する機能が不足しています。

利点:

  • サポートしたいクライアントにより適した SDK を実装する
  • CRM SDK のいずれかで利用可能な機能をすべて利用できます。

短所:

  • 大変な作業になる可能性があります。

クライアントから CRM インストールに直接接続することが不可欠な場合。ローカル プロキシまたはブラウザーの DEV ツールでトラフィックをキャプチャしながら、ブラウザー経由で OData ソースにアクセスすることを検討してください。同じ Web 要求を作成するコードを記述します。理論的には、ブラウザを使用して CRM にアクセスするのと同じくらい安全です。適切な手段を使用して、トラフィックを暗号化し、マスクし、覆い隠します。

私が個人的に経験したことのない他の選択肢があります。研究のためにそれらを提供することはできますが、それらについて自信を持って話すことはできません.

MSDN: CRM 2011 REST サービス ドキュメント

MSDN: CRM 2011 SDK の概要

于 2013-01-16T18:33:48.063 に答える
0

iOS から Dynamics CRM に対してネイティブに認証しようとすると、かなりの時間が必要になります。

オンプレミス/オンラインではさまざまな CRM 構成があり、IFD と https ではさらに複雑になります (ADFS に対する認証、証明書チェーンの検証などを実際に行う必要がある場合)。

最も簡単な方法は、CRM に対する認証を処理する .NET で実装されたプロキシ Web サービスを公開し、iOS アプリからその Web サービスを認証することです (通常の https 要求とより簡単な認証メカニズム)

でも、それをしてもまだまだ時間はかかります。

于 2014-12-15T22:50:49.457 に答える