2015-01-16 2 views
0

Я пытаюсь подключить базу данных Lotus Notes (8.5.1) (с доступом редактора по умолчанию в базе данных ACL) из моего веб-приложения Java. Я следую этой инструкции http://www.ibm.com/developerworks/lotus/library/ls-Java_access_2/ для подключения базы данных Lotus Notes удаленно через CORBA DIIOP. в основном я добавил NCSO.jar в свой java-путь затмения и установил серверный документ, как указано в инструкции. Это мои исходные коды java с начала: import lotus.domino. *; класс CORBAconnect общественного {Как подключить базу данных Lotus Notes через JAVA CORBA DIIOP с анонимным идентификатором?

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, я могу видеть, Аноним печатается на консоли Eclipse, но я получил NotesException: Anomynous Пользователя не может открыть ошибку базы данных. Я также попытался добавить свой идентификатор пользователя и пароль, но я получил NotesException: Неверное имя пользователя/пароль. Я также вижу, что кто-то отправил ту же проблему, но пока не решил. Кстати, вкладка DIIOP на документе сервера в каталоге Domino имеет параметр «Аноним», установленный в «Да». Может ли кто-нибудь помочь, как заставить соединение работать? В идеале я не хочу добавлять userid и пароль в createSession. Но если вариантов нет, тогда я буду использовать, но теперь с или без пользователя и пароля не работают. сообщите мне, есть ли где-нибудь, что я должен настроить на части сервера или части Java. спасибо

+0

Между прочим, установлена ​​вкладка «Безопасность» на сервере документа Адресной книги: «Аноним в Run». Непрерывная Java/Javascript/COM :, а также «Запуск ограниченного Java/javascript/COM» установлен «Аноним». – smt

+0

Кстати, если я скопировал одну и ту же базу данных на свой локальный компьютер, мои выше коды работают хорошо. Я могу вернуть объект базы данных без необходимости добавлять мой идентификатор пользователя и пароль. – smt

+0

Проблема решена, я изменил Аноним fromo Нет доступа к редактору из ACL db, он работает сейчас. – smt

ответ

2

Аноним является предопределенным пользователем в домино. Он используется в различных процессах, таких как:

Пользователь анонимный, как и любой другой пользователь:

  • Аноним ОЕ могут быть включены в группы
  • Anonymous является частью шаблона «*»
  • Anonymous получит привилегии ACL по умолчанию, если нет записи для анонимного не существует

На большинстве серверов доминошников анонимный пользователь имеет доступ к целая партия баз данных и имеет не менее привилегии, чем обычный пользователь.

В вашем случае функциональный пользователь с паролем намного лучше! Поскольку анонимный пользователь не имеет меньших привилегий, чем функциональный пользователь. Но пароль от функционального пользователя - небольшая защита, даже если вам нужно поместить пароль в небезопасную среду, такую ​​как статическая строка в java-банке. Возможно, злоумышленник должен найти пароль и не имеет одинаковых прав без пароля (анонимно).

Я бы не рекомендовал добавлять анонимные сообщения в «Запустить ограниченный Java/javascript/COM». Только администраторы и подписчики должны иметь эту привилегию.