Программный доступ к базе

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 12 ноя 2009.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    привет всем

    давно не могу найти ответ
    интересует вот такой вопрос

    есть на сервере база
    допустим MYBASE.NSF

    этот MYBASE.NSF может ли опредлить название базы и расположение базы (серверная или локальная база),
    если с другой базы обращаются к ей (к MYBASE.NSF) программно

    для этого надо использовать Нотес АПИ? Как?
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    Если к базе обращаются программно то заптертить можно только ридерс/авторс полями к документу
    Как вариант еще шифровать базу чтобы привязать её к конкретному ИД
     
  3. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    если конкретнее

    есть база на серваке MYBASE.NSF
    там в акл указан какой то, допустим BAD_User как едитор.

    дизайн MYBASE.NSF скрыт, вьюшки тоже.
    BAD_User работает с доками в MYBASE.NSF как положено
    ну делает операциии которые ему доступны

    НО у меня есть опасение
    что он может написать свую базу используя свой айди
    и может поменять некоторые поля в документах в MYBASE.NSF

    как это предотвратить?
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    Впринцыпе никак, особенно если он имеет доступ на редактирование ЭТИХ полей
    и базу ему даже создавать не оябазательно, достаточно написать свою кнопку в том же ПЯ, прямо внутри письма
    а если юзер продвинутый и еще имеет админ доступ на сервер то он может написать агента, который под правами сервера вообще может творить что хочет.

    Но к чему всё это?
    Чтобы продвинутый юзер не сбросил "важные флаги" флаги у документа?
    Если так, то можно создать отдельные доки, редактируемые только вашим агентам - такой вариант самый безопасный
     
  5. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    а тогда
    как то отслеживать программное изменеие дока нельзя?

    типа
    Значение одного поля в доке было ТАКИМ после стало ЭДАКИМ

    такой логгинг незя организовать?

    да унас на лотусе юзеры работают уже 3 года
    все они уже продвинутые
    особенно отдел контроля оценок студентов :rolleyes:
     
  6. Klido

    Klido Гость

    и настолько продвинутые, что дают неблагонадежным доступ редактора? ;) могли бы продвинуться дальше и сделать всё правильно :rolleyes:

    во как... а если не секрет - ты из какого отдела? ;)
     
  7. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    можно, создать копию базы к коротой никто не имеет доступ кроме вас, внутри неё агент, который сравнивает оригинальный док с тем что в рабочей базе
     
  8. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    подписывайте разделы данных или поля(Sign),
    тогда, если кто-то поменяет в бекэенде, то будет видно кто и что документ скомпроментирован
     
  9. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Чтобы ограничить доступ на редактирование, во-первых, нужно понизить уровень доступа до автора. Далее возможны варианты. Я бы попробовал открывать на редактирование не сам документ, а его динамически создаваемую копию. При сохранении обновлять разрешённые поля исходного дока агентом. Доступ к исходному документу - только на чтение. Тогда что-либо изменить в исходном доке в бэкэнде пользователь не сможет.
     
  10. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    Так что надо-то? Детальный аудит или защита?
    Из готовых средств аудита в LND кроме $UpdatedBy и $Revisions есть ещё SeqNum. Если надо ЕЩЁ подробнее, пишите серверный Extention (или как оно там.. См. C API)
    Если защита - прикладуху придётся перепрожектировать. Всеобщий Editor это ошибка. Вы отдали "за так" поля AUTHORS и флаг PROTECTED
     
Загрузка...

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