0

Java Web アプリケーションから Lotus Notes(8.5.1) データベースに接続しようとしています (データベース ACL のデフォルトとしてエディター アクセスを使用)。この指示http://www.ibm.com/developerworks/lotus/library/ls-Java_access_2/に従って、CORBA DIIOP を介してリモートで Lotus Notes データベースに接続します。基本的に、Eclipse の Java パスに NCSO.jar を追加し、指示に従ってサーバー ドキュメントを設定しました。これは最初から私の Java ソース コードです: import lotus.domino.*; public class CORBAconnect {

public static void main(String[] args) {

    try {
            String host = "devs2:63148";
        Session s = NotesFactory.createSession(host);
        //I also tried this with userid and password below, the userid and password is not valid.
        //Session s = NotesFactory.createSession(host, "jsmith", "js4533");//
        String p = s.getCommonUserName();
        System.out.println(p);
        Database db = s.getDatabase("devs2", "apps/dev/market.nsf");

        System.out.println(db.getFilePath() );
    } catch(Exception e) {
        e.printStackTrace();
    }

}

}

Java コードを実行した後、Anonymous が Eclipse コンソールに出力されていることがわかりますが、NotesException: User Anomynous cannot open database エラーが発生しました。ユーザー ID とパスワードも追加しようとしましたが、NotesException: Invalid user name/password が発生しました。また、誰かが同じ問題を投稿しているのを見ましたが、まだ解決していません。ところで、Domino ディレクトリのサーバー文書の [DIIOP] タブには、[匿名] オプションが [はい] に設定されています。接続を機能させる方法を教えてください。理想的には、createSession にユーザー ID とパスワードを追加したくありません。ただし、オプションがない場合は使用しますが、現在、ユーザー ID とパスワードの有無にかかわらず機能しません。ドミノ サーバー部分または Java 部分でセットアップする必要がある場所があれば教えてください。ありがとう

4

1 に答える 1

2

Anonymous は、Domino で定義済みのユーザーです。次のようなさまざまなプロセスから使用されます。

ユーザー anonymous は、他のユーザーと同様です。

  • 匿名をグループに含めることができます
  • 匿名はワイルドカード「*」の一部です
  • 匿名のエントリが存在しない場合、匿名はデフォルトの ACL 権限を取得します

ほとんどの Domino サーバーでは、匿名ユーザーは多数のデータベースにアクセスでき、通常のユーザーよりも少ない権限を持っています。

あなたの場合、パスワードを持つ機能的なユーザーの方がはるかに優れています! 匿名ユーザーは、機能ユーザーよりも権限が少ないわけではないためです。ただし、Java jar の静的文字列のような安全でない環境にパスワードを配置する必要がある場合でも、機能ユーザーからのパスワードは少し保護されます。可能性のある攻撃者はパスワードを見つける必要があり、パスワードなしでは同じ権利を持っていません (匿名)。

「制限付き Java/javascript/COM の実行」に匿名を追加することはお勧めしません。管理者と署名者 ID のみがこの権限を持つ必要があります。

于 2015-12-15T15:28:41.437 に答える