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

4.5.2 ログイン

アプリケーションは、IMAPSが提供している認証機構を呼び出して、利用しているユーザーの正当性を検証する事ができます。ログインには以下のような種類があります。

注意

Androidの場合、ログアウトを呼び出さずにアプリケーションを終了すると、再度アプリケーションを起動したときに、ユーザー情報や認証情報が残ったままになっている場合があります。

アプリケーションの終了時、または起動時にログアウトを呼び出して、ユーザー情報を初期化してください。

使用例
Android
オンライン認証を行うためには、com.fujitsu.imaps.plugin.auth.javaapi.LoginManager#loginOnlineメソッド、オフライン認証を行うためには、com.fujitsu.imaps.plugin.auth.javaapi.LoginManager#loginOfflineメソッドを呼び出します。
     private void loginFunc(Context context) {
         String url = "https://サーバアドレス:ポート";
         String userId = "user1";
         String passwd = "pass11";
         new AsyncLoginTask(context, url, userId, passwd).execute();
     }
 
     class AsyncLoginTask extends AsyncTask<String, Integer, String> {
         LoginManager mLoginManager = null;
         String mLoginURL = null;
         String mUserId = null;
         String mPasswd = null;
         ・・・・
 
         public AsyncLoginTask(Context context, String loginURL, String userId, String passwd) {
             mLoginManager = new LoginManager(context);
             mLoginURL = loginURL;
             mUserId = userId;
             mPasswd = passwd;
             ・・・・
         }
 
         protected String doInBackground(String... params) {
             try { 
                 mLoginManager.loginOnline(mLoginURL, mUserId, mPasswd);
             } catch (例外キャッチ) {
                 // キャッチした例外の内容に応じて、例外処理を実装します。
             }
             return null;
         }
     }
     private void loginFunc(Context context) {
         String userId = "user1";
         String passwd = "pass11";
         try { 
             mLoginManager = new LoginManager(context);
             mLoginManager.loginOffline(userId, passwd);
         } catch (例外キャッチ) {
             // キャッチした例外の内容に応じて、例外処理を実装します。
         }
     }
オフライン認証とは、クライアントが保持しているクレデンシャルを用いて利用ユーザーの正当性を検証する認証です。IMAPSサーバの認証機構を利用しないため、ネットワークが利用できない状態でも認証を行うことができます。オフライン認証を行うためには、オンライン認証で一度は認証しておかなくてはなりません。
ネットワーク状態を気にせずにログインを実行したい場合には、com.fujitsu.imaps.plugin.auth.javaapi.LoginManager#loginAutoメソッドを呼び出します。loginAutoメソッドは、ネットワーク状態に応じて最適なログイン方法を選択します。
iOS
オンライン認証は、IMALoginManagerのloginOnlineメソッド、オフライン認証はloginOfflineメソッドを呼び出します。実行結果はIMALoginDelegateで通知されます。
- (void)func {
IMALoginManager *loginManager = [[IMALoginManager alloc] init:self];
[loginManager loginOnline:@"https:// サーバアドレス:ポート/"userId:@"userid" passwd:@"password"];
}
- (void)func {
IMALoginManager *loginManager = [[IMALoginManager alloc] init:self];
[loginManager loginOffline:@"userid" passwd:@"password"];
}
Windows
オンライン認証を行うためには、Com.Fujitsu.Imaps.Plugin.Auth.LoginManager#loginOnlineメソッド、オフライン認証を行うためには、Com.Fujitsu.Imaps.Plugin.Auth.LoginManager#loginOfflineメソッドを呼び出します。
    private async void loginFunc() {
        string url = "https://サーバアドレス:ポート";
        string userId = "user1";
        string passwd = "pass11";
        try
        {
            LoginManager lm = new LoginManager();
            await lm.loginOnline(url, userId, passwd);
        }
        catch (例外キャッチ)
        {
            // キャッチした例外の内容に応じて、例外処理を実装します。
        }
    }
    private void loginFunc() {
        string userId = "user1";
        string passwd = "pass11";
        try
        {
            LoginManager lm = new LoginManager();
            lm.loginOffline(userId, passwd);
        }
        catch (例外キャッチ) 
        {
            // キャッチした例外の内容に応じて、例外処理を実装します。
        }
     }

ポイント

  • オンライン認証では、クライアント設定ファイルのimapsServerAddressで接続先のサーバを設定することも可能です。詳細は、開発者用マニュアル、付録F クライアント設定ファイルを参照してください。