アプレットのセキュリティを設定する

このタスクについて

ファイルシステムのセキュリティ保護のために、Java™ セキュリティによって、アプレットは通常 Notes® クラスにアクセスできないようになっています。ただし、Notes クラスにアクセスしてデータベースを開き、その中のデータを変更できるようにアプレットを設定することができます。

Notes でアプレットのセキュリティを設定するには

このタスクについて

Notes を介してファイルシステムまたは Notes Java クラスにアクセスするアプレットの安全なアクセス権限を設定するには、まずアクセス制御リスト (ACL) を設定します。次に、ユーザーまたはグループごとに実行制御リスト (ECL) を設定します。ECL は、ファイルシステムとワークステーション上の Notes クラスへのアクセス権限を制御します。

手順

  1. Java アプレットを保存するデータベースで、[ファイル] - [アプリケーション] - [アクセス制御] を選択し、ACL を設定します。
  2. [ファイル] - [セキュリティ] - [ユーザーセキュリティ] を選択します。
  3. パスワードを入力します。
  4. [実行制御] を選択します。
  5. [アプレット] を選択します。
  6. [アプレットの署名者] で、ファイルシステムまたは Notes クラスへのアクセス権限を持つユーザーやグループを入力します。
  7. [実行できる操作] リストで、Java アプレットの実行中にユーザーが使用可能なオプションを選択します。
  8. [OK] をクリックします。

タスクの結果

ユーザーがアプレットを実行すると、Domino は、アプレットに署名したユーザーまたはグループの実行権限をチェックします。正しい認証のないユーザーまたはグループがアプレットに署名した場合、Domino は、ユーザーに不正操作が行われていることを知らせます。ユーザーが操作を停止すると、アプレットが停止します。アプレットの署名者を一度だけ信頼するか、自動的に署名者を実行制御リストに追加して、アクセスを許可できます。

Web アプリケーションでアプレットのセキュリティを設定するには

このタスクについて

ブラウザを介してファイルシステムまたは Notes Java クラスにアクセスするアプレットに、安全にアクセスできるよう設定するには、次の手順に従います。

手順

  1. CORBA を使用し、Notes クラスにアクセスする Notes/IIOP アプレットを記述します。
  2. 他のアプレットの場合と同じ手順で、ページ、フォーム、または文書に Notes/IIOP アプレットを呼び出します
  3. アプレットの関連ファイルを取り込むために [ロケート] をクリックするときは、必ず NCSO.JAR ファイルを含めてください。
  4. ユーザーが実行する Java アプレットをインポートまたはリンクします。
  5. Java アプレットを選択し、[Java アプレット] - [Java アプレットのプロパティ] を選択します。
  6. [Java アプレット情報] タブで、[Notes CORBA クラスを使用] を選択します。

タスクの結果

ブラウザとサーバーが正しく設定されていれば、サポートされているブラウザを使用して、これらの埋め込み CORBA アプレットを Domino サーバー上で表示できます。CORBA アプレットを実行させるために、代替 HTML を設定する必要はありません。[Notes CORBA クラスを使用] チェックボックスがオンになっていれば、Domino は自動的に、アプレットがサーバーに IIOP 接続するために必要な HTML ソースコードを提供します。

AppletBase クラスを拡張するには

このタスクについて

lotus.notes.noi のランタイムアクセスを意図したアプレットの場合は、AppletBase を拡張してから、サンプルコードに示すように、その機能コードをメソッド notesAppletInit()、notesAppletStart() に入れ、また、notesAppletStop() にも入れます。ローカルアクセスとリモートアクセスを区別する必要はありません。アプレットが Notes クライアント経由で動作する場合、AppletBase はローカルコールを行います。アプレットがブラウザ経由で動作する場合、AppletBase はリモートコールを行います。

NOI コールを行うアプレットの例を示します。

import lotus.notes.noi.*;

public class platform4 extends AppletBase
{
 java.awt.TextArea ta;

 public void notesAppletInit()
  {
    setLayout(null);
    setSize(100,100);
    ta = new java.awt.TextArea();
    ta.setBounds(0,0,98,98);
    add(ta);
    ta.setEditable(false);
    setVisible(true);
  }

  public void notesAppletStart()
  {
    try
    {
      // Can also do getSession(user, pwd)
      Session s = this.getSession();
      if (s == null) { //we were not able to make the connection, warn user
        ta.append("Unable to create a session with the server");
        return;
      }
      String p = s.getPlatform();
      ta.append("Platform = " + p);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
}