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

  • Автор темы Nash
  • Дата начала
N

Nash

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

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

Заранее спасибо )
 
T

turumbay

У профайла даже нет формы, редактирование происходит исключительно агентами и прочими скриптами
А поправить этих "агентов и прочих скриптов", дабы не редактировали "некоторые поля профайла"?
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
541
Можно сделать форму, по которой открывать профайл.
Получаем профайл, прописываем ему форму, редактируем, сохраняем.
Форму не сохраняем в докумете или сохраняем(если очень хочется и это не ведет за собой проблем).
Все это засовываем в агент и вешаем на кнопку или сразу на кнопку.

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


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

Еще можно посмотреть вот эту утилиту:
 
N

Nash

А поправить этих "агентов и прочих скриптов", дабы не редактировали "некоторые поля профайла"?

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

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

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


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

Еще можно посмотреть вот эту утилиту:

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

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

turumbay

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

Nash

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

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

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

Все равно, спасибо )
 
N

nvyush

Да, похоже, что без вторых документов для каждого пользователя не обойтись ((
Есть ограничение на число профильных документов (~6000). Кмк, предпочтительней обойтись одним документом, но закрыть доступ на редактирование и менять значения полей серверным агентом.
 
N

Nash

Есть ограничение на число профильных документов (~6000). Кмк, предпочтительней обойтись одним документом, но закрыть доступ на редактирование и менять значения полей серверным агентом.

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

turumbay

Странно, что IsProtected не дает менять поля пользователям ниже Editor'а даже если они авторы в документе только для обычных документов, почему бы не сделать так и для профайлов
По ощущениям, профайлы вообще живут на какой-то своей волне... Как-то наступал на грабли, что пользователь с авторским доступом не может создать себе профайл в базе, для которой включена блокировка.
 
N

nvyush

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!