ページの先頭行へ戻る
Interstage Mobile Application Server V1.3.0 アプリケーション開発ガイド
FUJITSU Software

3.4.4.4 認証情報の付与

ログイン後、クライアントアプリケーションがIMAPSサーバ以外のサーバにアクセスする場合、認証情報を受け渡せます。この機能はIMAPSサーバの認証機構と業務サーバとの間でSSOのような振る舞いをおこないたい場合に便利です。SSOのような振る舞いとは以下のような動作を指します。
  • IMAPSサーバで認証していない場合、クライアントからのアクセスはエラーとなる。
  • IMAPSサーバで認証済の場合、クライアントからのアクセスは成功する

このような振る舞いを実現するためには、以下のようにします。
  • クライアントからアクセスする業務サーバ上のサーバアプリケーションに、認証モジュールを組み込む
  • クライアントアプリケーションはIMAPSで認証し、業務サーバにアクセスする際には認証情報を付与してアクセスする
使用例
- (void)func {
        NSURL *url = [NSURL URLWithString:接続先URL]; 
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
         [request setHTTPMethod:@"GET"]; 
        IMALoginManager *loginManager = [[IMALoginManager alloc] init];
        NSError *anError = nil;
        BOOL result = [loginManager setRequestAuth:request error:&anError]; 
        if(result == NO) {
                // それぞれのエラーの実装.
        }
         [NSURLConnection connectionWithRequest:request delegate:self]; 
         [loginManager setRequestAuth:request error:&anError];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
        IMALoginManager *loginManager = [[IMALoginManager alloc] init];
        NSError *anError = nil;
        BOOL result = [loginManager checkServerTimeout:response error:&error];
        if(result == NO) {
                // それぞれのエラーの実装.
        } else {
                result = [loginManager saveResponseAuth:response error:&error];
                if(result == NO) {
                        // それぞれのエラーの実装.
                }
        }
}