Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - クイック・スタート » Mobile Link チュートリアル » チュートリアル:カスタム認証用の .NET と Java の使用

 

レッスン 1:カスタム認証用の Java または .NET クラスの作成 (サーバ側)

このレッスンでは、カスタム認証用の Java または .NET 同期論理を記述するクラスをコンパイルします。

.NET 用 Mobile Link サーバ API

.NET 同期論理を実行するには、Mobile Link サーバが iAnywhere.MobiLink.Script.dll 内のクラスにアクセスできることが必要です。iAnywhere.MobiLink.Script.dll には、.NET メソッドで利用する Mobile Link .NET サーバ API クラスのリポジトリが入っています。.NET クラスをコンパイルするときは、iAnywhere.MobiLink.Script.dll を参照します。

Java 用 Mobile Link サーバ API

Java 同期論理を実行するには、Mobile Link サーバが mlscript.jar 内のクラスにアクセスできることが必要です。mlscript.jar には、Java メソッドで利用する Mobile Link Java サーバ API クラスのリポジトリが入っています。Java クラスをコンパイルするときは、mlscript.jar を参照します。

♦  カスタム認証用の Java または .NET クラスを作成するには、次の手順に従います。
  1. Java または .NET を使用して、MobiLinkAuth というクラスを作成します。

    MobiLinkAuth クラスには、authenticate_user 同期イベントで使用する authenticateUser メソッドが含まれています。authenticate_user イベントは、ユーザ・パラメータとパスワード・パラメータを提供します。認証結果は、authentication_status inout パラメータを使用して返します。

    Java の場合は、次のように入力します。

    import ianywhere.ml.script.*;
    
    public class MobiLinkAuth
    {
    
     public void authenticateUser (
      ianywhere.ml.script.InOutInteger authentication_status,
      String user,
      String pwd,
      String newPwd )
     {
       // to do...
    
     }
    
    }

    .NET の場合は、次のように入力します。

    using iAnywhere.MobiLink.Script;
    
    public class MobiLinkAuth
    {
      public void authenticateUser  (
        ref int authentication_status,
        string user,
        string pwd,
        string newPwd)
      { 
        
       // to do...
    
      }
    }
  2. authenticateUser メソッドを作成します。

    このチュートリアルでは、カスタム・ユーザ認証の非常に簡単な例を取り上げて説明します。ユーザ名が "ML" で始まる場合は、認証が成功します。

    注意

    authenticate_user 同期イベントの authenticateUser メソッドは、レッスン 2:authenticate_user イベント用の Java または .NET スクリプトの登録に登録します。

    Java の場合は、次のように入力します。

    public void authenticateUser (
     ianywhere.ml.script.InOutInteger authentication_status,
     String user,
     String pwd,
     String newPwd ) {
    
    if (user.substring(0,2).equals("ML")) {
            // success: an auth status code of 1000
            authentication_status.setValue(1000);
        } else {
            // fail: an authentication_status code of 4000
            authentication_status.setValue(4000);
        }
    }

    .NET の場合は、次のように入力します。

    public void authenticateUser(
     ref int authentication_status,
     string user,
     string pwd,
     string newPwd ) {
    
        if(user.Substring(0,2)=="ML") {
            // success: an auth status code of 1000
            authentication_status = 1000;
        } else { 
            // fail: and authentication_status code of 4000
            authentication_status = 4000;
        }
    }
  3. MobiLinkAuth クラスをコンパイルします。

    • Java の場合は、ファイルに MobiLinkAuth.java という名前を付けて c:\mlauth に保存します。c:\mlauth に移動します。ファイルをコンパイルするには、次のコマンドを実行します。

      javac MobiLinkAuth.java -classpath "install-dir\java\mlscript.jar"

      MobiLinkAuth.class ファイルが生成されます。

    • .NET の場合は、ファイルに MobiLinkAuth.cs という名前を付けて c:\mlauth に保存します。

    • コマンド・プロンプトで、c:\mlauth に移動します。ファイルをコンパイルするには、次のコマンドを実行します。

      csc /out:c:\mlauth\MobiLinkAuth.dll /target:library /reference:"%SQLANY11%\Assembly\v2\iAnywhere.MobiLink.Script.dll" MobiLinkAuth.cs

      MobiLinkAuth.dll ファイルが生成されます。

詳細情報

authenticate_user イベントの詳細 (authentication_status のリターン・コード表も含む) については、authenticate_user 接続イベントを参照してください。

Java または .NET を使用したカスタム認証の実装の詳細については、Java と .NET のユーザ認証を参照してください。

Java カスタム認証の詳細な例については、Java 同期の例を参照してください。

.NET カスタム認証の詳細な例については、.NET 同期のサンプルを参照してください。