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

3.3.3.4 認証情報の付与

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

このような振る舞いを実現するためには、以下のようにします。
  • クライアントからアクセスする業務サーバ上のサーバアプリケーションに、認証モジュールを組み込む
  • クライアントアプリケーションはIMAPSで認証し、業務サーバにアクセスする際には認証情報を付与してアクセスする
使用例
import java.net.Proxy;
・
・

     private void connection(Context context, String url) {
         new AsyncConnectTask(context, url).execute();
     }
 
     class AsyncConnectTask extends AsyncTask <String, Integer, String> {
         LoginManager mLoginManager = null;
         String mURL = null;
         ・・・・
 
         public AsyncConnectTask(Context context, String url) {
             mLoginManager = new LoginManager(context);
             mURL = url;
             ・・・・
         }
 
         protected String doInBackground(String... params) {
             try {
                 URL url = new URL(mURL);
                 HttpURLConnection con = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY);
                 ・・・
                 mLoginManager.setRequestAuth(con);
                 con.connect();
                 mLoginManager.checkServerTimeout(con);
                 ・・・
                 mLoginManager.saveResponseAuth(con);
                 ・・・
             } catch (IMAPSAuthTimeOutException e) {
                 // ログアウト処理の実装を行うことを推奨します。
             } catch (例外キャッチ) {
                 // キャッチした例外の内容に応じて、例外処理を実装します。
             }
        }