• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Профильные документы

  • Автор темы K-Fire
  • Дата начала
K

K-Fire

Хочу запретить изменение полей профиля. Т.е. чтобы юзер с администраторскими правами имел возможность редактировать содержимое, остальные юзеры нет.
Создаю профиль через специальную форму, запихиваю туда авторское поле. Все нормально, обычные юзеры открывая профиль @command(EditProfile) документ редактировать не могут. Однако пробую через @SetProfileField() - это команда обходит авторское поле, и обычный юзер изменяет значение поля.

Что делать, кто подскажет? От профилей избавляться очень не хочется, нужно высокое быстродействие, а безопасность не должна нарушаться, особенно для пользователей имеющих дизайнерский доступ.
 
A

allex

Ограничь это ролью и соответственно editmode
 
O

Omh

Я вот думаю, а Readers/Authors поля работают в профайлах?
 
K

K-Fire

В общем порыл редбуки, там сказано что для выполнения @SetProfileField нужно только уровень доступа Автор, авторские поля игнорируются.

Интересно, какому индусу такое в голову пришло? <_<
 
D

dobozy

В общем порыл редбуки, там сказано что для выполнения @SetProfileField нужно только уровень доступа Автор, авторские поля игнорируются.

Интересно, какому индусу такое в голову пришло?

Если честно, странно!
Помню у меня были обратные проблемы :). А профиль персонифицированный или общий?
Советую открыть базу NotesPeek-ом и посмотреть внутринности профиля там.
Возможные проблемы:
1. При вызове @SetProfileField вы передаёте profilename, которого еще нет и он это собака его создаёт.
2. Доступ всё-таки у юзера выше чем Автор.
3. Нет реально поля типа Authors. Проверьте через NotesPeek.



Еще в догонку вспомнил.
При создании профиля, явно создайте поля типа Authors и присвойте туда роль скажем [Admin].
 
Мы в соцсетях:

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