Protected-поля В Профиле

Тема в разделе "Lotus - Программирование", создана пользователем Nash, 16 апр 2012.

  1. Nash

    Nash Гость

    Всем доброго времени суток.
    Проблема в следующем: у каждого пользователя есть профайл с некоторыми личными настройками, где он автор. Возникла необходимость закрыть пользователю редактировать некоторые поля профайла (У профайла даже нет формы, редактирование происходит исключительно агентами и прочими скриптами). Проведенные эксперименты показывают, что атрибут IsProtected не помогает. Делать по два профиля на одного пользователя (один редактируемый пользователем, другой нет) очень не хотелось бы. Вызов серверных агентов тоже не вариант, так как создавать для каждого вызова документ-параметр тоже очень не хочется.

    Встречался ли кто-нибудь с подобной ситуацией, и как он из нее выкручивался? ))

    Заранее спасибо )
     
  2. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    А поправить этих "агентов и прочих скриптов", дабы не редактировали "некоторые поля профайла"?
     
  3. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Можно сделать форму, по которой открывать профайл.
    Получаем профайл, прописываем ему форму, редактируем, сохраняем.
    Форму не сохраняем в докумете или сохраняем(если очень хочется и это не ведет за собой проблем).
    Все это засовываем в агент и вешаем на кнопку или сразу на кнопку.

    Главное для редактирования использывать команду для профайла:
    Код (LotusScript):
    Set notesUIDocument = notesUIWorkspace.EditProfile( profileName$ [, uniqueKey$] )

    P.S. я предпочтиаю скрипт вместо собаки.

    Еще можно посмотреть вот эту утилиту:
    http://www.openntf.org/Projects/codebin/co...6256FA300450791
     
  4. Nash

    Nash Гость

    Все "агенты и прочие скрипты" уже давно делают исключительно то, что от них требуется и править их не нужно совершенно. Вопрос стоит о том, как вообще запретить пользователю менять какое-либо поле в профайле, где он автор. Имеется в виду, очевидно, использование сторонних средств (того же ScanEZ)

    Добавлено:
    Повторюсь, никаких форм. Редактирование на уровне UI нет никакого и оно не нужно. Обычные пользователи даже понятия не имеют о существовании этих профайлов. Нужно, чтобы как IsProtected поле, только для профайлов.

    А что это за утилита? Описания толкового не нашел ))
     
  5. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Тогда, как Вы и написали выше, отбирайте авторские права или создавайте второй документ.
    Запретить менять поля в документе, к которому есть авторский доступ, невозможно. Доступ к отдельным полям можно запрещать на чтение(шифрование), но запись отдельных полей закрыть не получится.
    Можно заморочиться на подпись отдельный полей и довернуть логику бэкенда, проверяя целостность, но поставленную задачу(запрет записи) это не решает.
     
  6. Nash

    Nash Гость

    Да, похоже, что без вторых документов для каждого пользователя не обойтись ((
    Странно, что IsProtected не дает менять поля пользователям ниже Editor'а даже если они авторы в документе только для обычных документов, почему бы не сделать так и для профайлов ((

    Про подписи тоже думал, но проблему это не решит.

    Все равно, спасибо )
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Есть ограничение на число профильных документов (~6000). Кмк, предпочтительней обойтись одним документом, но закрыть доступ на редактирование и менять значения полей серверным агентом.
     
  8. Nash

    Nash Гость

    Второй документ не буду делать профайлом.
    Для вызова серверного агента нужно будет создавать документ-параметр. Потом он будет удаляться, но в итоге будут копиться стабы, что нежелательно, насколько я знаю, для местных наших систем. По крайней мере, сказали делать без созданий и удалений большого числа документов (
     
  9. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    По ощущениям, профайлы вообще живут на какой-то своей волне... Как-то наступал на грабли, что пользователь с авторским доступом не может создать себе профайл в базе, для которой включена блокировка.
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Наблюдал, что все пользователи с правами автора могут редактировать профайл без поля Authors.
     
Загрузка...

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