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

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

Nash

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

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

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

savl

Lotus team
28.10.2011
2 131
102
#3
Можно сделать форму, по которой открывать профайл.
Получаем профайл, прописываем ему форму, редактируем, сохраняем.
Форму не сохраняем в докумете или сохраняем(если очень хочется и это не ведет за собой проблем).
Все это засовываем в агент и вешаем на кнопку или сразу на кнопку.

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

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

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

Nash

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

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

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

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

Еще можно посмотреть вот эту утилиту:
http://www.openntf.org/Projects/codebin/co...6256FA300450791
Повторюсь, никаких форм. Редактирование на уровне UI нет никакого и оно не нужно. Обычные пользователи даже понятия не имеют о существовании этих профайлов. Нужно, чтобы как IsProtected поле, только для профайлов.

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

Nash

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

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

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

nvyush

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

Nash

#8
Есть ограничение на число профильных документов (~6000). Кмк, предпочтительней обойтись одним документом, но закрыть доступ на редактирование и менять значения полей серверным агентом.
Второй документ не буду делать профайлом.
Для вызова серверного агента нужно будет создавать документ-параметр. Потом он будет удаляться, но в итоге будут копиться стабы, что нежелательно, насколько я знаю, для местных наших систем. По крайней мере, сказали делать без созданий и удалений большого числа документов (
 
13.03.2009
625
1
#9
Странно, что IsProtected не дает менять поля пользователям ниже Editor'а даже если они авторы в документе только для обычных документов, почему бы не сделать так и для профайлов
По ощущениям, профайлы вообще живут на какой-то своей волне... Как-то наступал на грабли, что пользователь с авторским доступом не может создать себе профайл в базе, для которой включена блокировка.
 

nvyush

Lotus team
22.04.2009
2 317
0
#10
По ощущениям, профайлы вообще живут на какой-то своей волне... Как-то наступал на грабли, что пользователь с авторским доступом не может создать себе профайл в базе, для которой включена блокировка.
Наблюдал, что все пользователи с правами автора могут редактировать профайл без поля Authors.