ファイルシステムのセキュリティ保護のために、Java™ セキュリティによって、アプレットは通常 Notes® クラスにアクセスできないようになっています。ただし、Notes クラスにアクセスしてデータベースを開き、その中のデータを変更できるようにアプレットを設定することができます。
Notes を介してファイルシステムまたは Notes Java クラスにアクセスするアプレットの安全なアクセス権限を設定するには、まずアクセス制御リスト (ACL) を設定します。次に、ユーザーまたはグループごとに実行制御リスト (ECL) を設定します。ECL は、ファイルシステムとワークステーション上の Notes クラスへのアクセス権限を制御します。
ユーザーがアプレットを実行すると、Domino は、アプレットに署名したユーザーまたはグループの実行権限をチェックします。正しい認証のないユーザーまたはグループがアプレットに署名した場合、Domino は、ユーザーに不正操作が行われていることを知らせます。ユーザーが操作を停止すると、アプレットが停止します。アプレットの署名者を一度だけ信頼するか、自動的に署名者を実行制御リストに追加して、アクセスを許可できます。
ブラウザを介してファイルシステムまたは Notes Java クラスにアクセスするアプレットに、安全にアクセスできるよう設定するには、次の手順に従います。
ブラウザとサーバーが正しく設定されていれば、サポートされているブラウザを使用して、これらの埋め込み CORBA アプレットを Domino サーバー上で表示できます。CORBA アプレットを実行させるために、代替 HTML を設定する必要はありません。[Notes CORBA クラスを使用] チェックボックスがオンになっていれば、Domino は自動的に、アプレットがサーバーに IIOP 接続するために必要な HTML ソースコードを提供します。
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();
}
}
}