Служба отдыха IBM Lotus java XPage - требуется ли подпись для каждого пользователя? - PullRequest
0 голосов
/ 21 марта 2019

Я создал базу данных пользовательского REST-сервиса Java ExtLib XPage (CustomServiceBean) на основе этого решения: https://setza -projects.atlassian.net / wiki / Spaces / RS / pages / 363593730 / IBM + Domino

Я изменил его, хотя и использовал класс NotesCalendar для создания, обновления и удаления событий и резервирования ресурсов (поэтому фактически все обрабатывается календарем, я использую только необработанные документы для чтения $ Rooms в именах.nsf и $ Reservations в базе данных бронирования).Пока все отлично работает, использует текущий сеанс для открытия календаря.У меня есть некоторые опасения относительно разрешений.

Что я хочу (и нуждаюсь):

  • Возможность создавать события календаря и резервирования как КОНКРЕТНЫЕ пользователи, я не хочу только одного«основной» пользователь, который все создаст.Я хочу, чтобы каждый пользователь IBM Lotus мог войти в систему со своими учетными данными и создавать или обновлять свои события календаря.

Эта база данных с XPage будет развернута на серверах наших клиентов, поэтому я не хочуТребуется некоторая специальная настройка для каждого пользователя, чтобы иметь доступ к моей службе REST.Я установил новую локальную установку Lotus Server и создал новое приложение, используя свою базу данных XPage в качестве шаблона, и я не смог получить доступ к API ни с учетной записью администратора, ни с другими учетными записями:

HTTP JVM:CLFAD0229E: Возникла исключительная ситуация безопасности при запросе на обслуживание: /db.nsf/services.xsp/api - код HTTP: 403. Для получения более подробной информации обратитесь к error-log-0.xml

Как можно скорееКогда я добавил свою учетную запись администратора в конфигурацию сервера -> Безопасность -> Подписать или запустить неограниченные методы и операции, он снова начал работать.Не только для учетной записи администратора, но также и для других учетных записей, которые были просто созданы с помощью интернет-пароля и которым не были назначены какие-либо конкретные роли или разрешения.Я даже не подписывал базу данных.

Итак, мой вопрос: достаточно ли этого для того, чтобы она работала на рабочем сервере клиента?Для меня это не имеет никакого смысла, но оно работало на моем локальном сервере, поэтому я не уверен, я новичок в IBM Lotus и просто делаю сервис REST интеграции.

Если нет,как я могу это сделать, чтобы мне действительно не нужно было ставить конечного клиента (владельца сервера Lotus) на хлопоты по настройке каждого пользователя, в то же время имея возможность доступа к API как любой пользователь Lotus (предоставляя имя пользователя и пароль)?Я могу либо войти в систему как каждый независимый пользователь, либо выполнить олицетворение с «основной» привилегированной учетной записью (создать записи в чужом календаре, как он), хотя я думаю, что в Java нет способа сделать это, потому что .getCalendarметод класса Session, я пытался использовать createSession (), но не смог.

1 Ответ

1 голос
/ 21 марта 2019

Каждое приложение для заметок должно быть подписано администратором с идентификатором, известным среде клиентов. Идентификатор, который используется для подписи БД, должен иметь соответствующие права через вкладку безопасности в документе сервера. Если приложение не подписано должным образом, приложение не запустится. Как только приложение подписано, оно запускается в сеансе авторизованных пользователей с правами пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...