IBM Domino 10 - Java XPage создает сеанс или сравнивает учетные данные другого пользователя - PullRequest
0 голосов
/ 15 марта 2019

Я пишу код Java в службе отдыха XPage на основе https://setza -projects.atlassian.net / wiki / Spaces / RSD / pages / 44007659 / IBM + Domino , которая является службой REST написанный на Java, используемый для обработки базы данных резервирования ресурсов. Однако, как он работает в настоящее время, он создает резервирование только для текущего пользователя сеанса:

private JsonObject createIntanceAppointment(ResourceDefinition rd, Database reDatabase, Date dtStart, Date dtEnd, String subject) throws NotesException {
        Session session = reDatabase.getParent();
        Name nnOrganizier = session.createName(session.getEffectiveUserName());

        Name nnREsource = session.createName(rd.getFullName());
        DateTime dt_startDateUTC = session.createDateTime(dtStart);
        DateTime dt_endDateUTC = session.createDateTime(dtEnd);
        Document doc = reDatabase.createDocument();

        doc.replaceItemValue("form", "Reservation");
        doc.replaceItemValue("Purpose", subject);
        doc.replaceItemValue("ReservedFor", nnOrganizier.getCanonical());
        doc.replaceItemValue("ResourceName", nnREsource.getAbbreviated());
        doc.replaceItemValue("ResNameFormat", nnREsource.getAbbreviated());

Я делаю очень похожую интеграцию с Domino, хотя я бы предпочел, чтобы резервирование создавалось для отдельных пользователей (они предоставляют свое имя пользователя и пароль в приложении бронирования номеров на сенсорном экране). Я мог бы просто аутентифицироваться как пользователь в моем REST-клиенте, но если я правильно понимаю требования к установке для этого API RoomZ, «управляющий пользователь API» должен быть подписан исключительно в базе данных, поэтому я должен сделать это для каждого пользователя в Домино, которые могут сделать предварительный заказ.

Я пытался использовать NotesFactory.createSession("", "user", "password");, но это не работает, выдает ошибку Cannot create a session from an agent Если я не могу создать другой сеанс, могу ли я проверить, что username и password, переданные API в полезной нагрузке, верны (чтобы проверить, может ли пользователь войти в систему)? Тогда я мог бы просто установить органайзер / зарезервирован для этого пользователя.

Кроме того, есть ли способ сделать так, чтобы это бронирование также появлялось в календаре заметок организатора? В настоящее время они успешно созданы в базе данных Reservation и все, но организатор не знает о них, несмотря на то, что он назначен для бронирования.

1 Ответ

0 голосов
/ 15 марта 2019

Вам не нужно создавать сеанс для каждого пользователя.Важной вещью является nnOrganizer = session.createName (""), который должен содержать пользователя.Возможно, вам также понадобится установить дополнительные поля, например, "Стул" или "От" для бронирования.

Если вы хотите, чтобы в календаре организаторов были какие-то записи, отправьте им соответствующее приглашение или создайте запись календаря в их почтовом файле.

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