1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Переподписать агент на Ls

Тема в разделе "Lotus - Программирование", создана пользователем D!m@n, 25 фев 2011.

  1. D!m@n

    D!m@n Гость

    Репутация:
    0
    Добрый день, уважаемые соучастники!

    Хочу выборочно переподписать серверным ID некоторые агенты в некоторых базах.
    Вариантов вижу два:
    1. административный (он же скучный, он же запасной) - сесть за консоль сервера, и в дизайнере под серверным ID переподписать нужные агенты;
    2. программный (он же интересный) - серверным агентом, работающим on behalf of Server, переподписать нужные агенты с помощью метода NotesAgent.Save.

    Ессно, пошел по п. 2 - сделал серверного агента, работает on behalf of server, runtime security level у него 3-ий, привилегии на подписание таких агентов на сервере у меня есть.
    Агент выполняется, ошибок никаких не выдает, одна беда - вызов метода NotesAgent.Save не переподписывает агент :)

    Буду рад любым советам!

    P.S. Вариант использовать инструмент "Sign" в Lotus Domino Administrator не предлагайте, ибо серверным ID он умеет переподписывать только всю базу целиком :)
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Команда форума Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.163
    Симпатии:
    20
    3 - создать програмно админ запрос, который всё сделает :)
     
  3. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Код (Text):
    noteID$ = notesAdministrationProcess.SignDatabaseWithServerID( server$ , dbfile$ [ , updateonly ] )
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Call notesDatabase.Sign( [ documentType% ] [ , existingSigsOnly ] [ , nameStr$] [ , nameStrIsNoteID ] )

    Сам не пробовал.
     
  5. D!m@n

    D!m@n Гость

    Репутация:
    0
    Была такая мысль... Но разве есть AdminRequest для подписания сервером только одного документа дизайна? Если не ошибаюсь, бывает только Sign Database with Server's ID File.
     
  6. nvyush

    nvyush Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Все элементы дизайна в конечном счёте специальные документы, так что нужно просто взять нужные доки и подписать.
    Ключевые слова: notesNoteCollection.SelectAgents, notesNoteCollection.BuildCollection, notesNoteCollection.GetFirstNoteID/GetNextNoteID, notesDatabase.GetDocumentByID(noteID$), notesDocument.Sign
     
  7. D!m@n

    D!m@n Гость

    Репутация:
    0
    Я ж говорю - мне не всю базу...

    Добавлено:
    Ошибка 4180: Cannot sign notes when running on a server

    И в хелпе написано, что нельзя:
     
  8. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Как вариант делай агента (RunOnServer), который обрабатывает ключевые слова указанные nvy.
    Я так делал и даже подписывало.
    Отказался в пользу notesAdministrationProcess.SignDatabaseWithServerID, у меня не было требования подписывать сервером отдельные элементы.
     
  9. TIA

    TIA :-)
    Lotus team

    Репутация:
    0
    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    1
    Попробуй через NotesDocument.Sign.
    NoteId агентов получай через NotesNoteCollection. Объект NotesDocument для ноты агента через NotesDatabase.GetDocumentById.
     
  10. RAJ

    RAJ Well-Known Member

    Репутация:
    0
    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    1.В другую базу-шаблон выносим элементы дизайна, которые должны быть подписаны другой учёткой
    2.Подписываем базу-шаблон нужной учёткой.
    3.В первой базе для данных элементов(не для всей базы!!!) ставим наследование из созданного шаблона.
    4.Обновляем дизайн первой базы.
     
  11. turumbay

    Репутация:
    0
    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    +1
    Есть заметка от Andre Guirard про импорт дизайна через dxl. В т.ч. раскрывается тема подписи.
    P.S. в статье битая ссылка на lss. Скачать можно тут
     
  12. D!m@n

    D!m@n Гость

    Репутация:
    0
    А вот это сработало! ;)
    Большое спасибо, nvy, и все-все-все, участвовавшие в теме!
     
Загрузка...

Поделиться этой страницей