• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Запретить редактирование документа

  • Автор темы Автор темы xKlonx
  • Дата начала Дата начала
X

xKlonx

Народ как можно запретить редактирование формы для некоторых пользователей????
 
xRomax
я бы сказал иначе можно на картинку повесить экшен :)
 
xRomax
Точнее, наверно, не формы, а документа, открываемого по некой форме?
Выарианты по степени надёжности:
1. Определив всех, кому МОЖНО редактировать в Authors-поле и вход всем по ACL с авторскими правами.
2. Protected-поля
3. Сделать секцию с управляемым доступом
4. Проверить их права в событии QueryOpen формы
 
Народ есть 2 роли:
руководитель и исполнитель.Нужно сделать чтобы руководитель имел доступ к кнопкам, а исполнитель соответственно не имел. Но чёто не выходит.Например:
1. Ставлю себе роль исполнителя
2.В кнопке ставлю галочку типо хайд иф тру и пишу формулу:!@IsMember("[leader]";@UserRoles)
3.Ставлю себе роль лидера и вместо того чтобы видеть кнопку,её нет,но и это не всё.Ксли ставлю роль исполнителя тоже не видно.Подскажите что можно сделать?
 
Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).
 
Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).

Вдогонку: здесь можно юзать конструкции типа @IsNotMember("[leader]" : "[admin]"; @UserRoles) с перечислением всех ролей, которым разрешено видеть кнопку.
 
Перегружал,проверял роли, а кнопку не видно
 
Тогда глупый вопрос: база на сервере или стоит поддержка одинакового ACL на всех репликах? На локале без этой галки роли не работают...
 
База на локале.А где эту галку ставить или убирать???
 
For a database on a server or a local database with "Enforce a consistent Access Control List across all replicas" in effect, returns a list of roles that the current user has. Roles are defined in a database's access control list.
В DB Access Control List-Advanced.
Забыла написать - галку надо ставить )
 
Спасибо заработало!!!

Продолжая тему,возник вопрос,а по ролям можно как нить запретить редактирование полей на форме??
 
Спасибо заработало!!!

Продолжая тему,возник вопрос,а по ролям можно как нить запретить редактирование полей на форме??

См. в справке разделы с управляемым доступом. В двух словах: выделяем поля, затем Create-Section-Controlled Access, на третьей закладке свойств раздела перечисляем роли, группы и имена тех, кому можно редактировать поля в данном разделе. Можно использовать @If для формирования списка разрешённых ролей. Я обычно делаю разделы CFD.
 
xRomax
используя компутед поля и обічніе поля ... + формулы скрытия

или

АцесКонтролед секции
 
Morpheus
используя компутед поля и обічніе поля ... + формулы скрытия

или

АцесКонтролед секции

Скрывать поля не нужно,нужно чтобы пользователь видел информацию но не мог редактировать содержимое.АцесКонтролед секции тоже не покатят так как открыть ее сможет пользователь с определённой ролью
 
а ещё можно заюзать input enabled формулу у поля.
 
АцесКонтролед секции тоже не покатят так как открыть ее сможет пользователь с определённой ролью
можно зделать её открытой всегда, и скрыть заговловок никто и не увидит что это секция. Да кстати если у Вас буду РТ поля - то запрет редактирования можно будет отолько так зделать.

Скрывать поля не нужно,нужно чтобы пользователь видел информацию но не мог редактировать содержимое.
я же сказал поле компутед + поле редактируеемое . редактор видет 2е поле, обычный видет первое(компутед). Ну ещё можно заюзать инпут энаблед свойство у поля
 
Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
Начиная с восьмерки всё выпрямили.
 
Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
Начиная с восьмерки всё выпрямили.

Не уверен, что до конца выпрямили :) . Было дело ловил глюк - при открытии дока поле разрешало редактирование, запрет включался только после F9, хотя на OnLoad висело doc.RefreshHideFormulas. Решил ту проблему контролируемым разделом.
 
Надо было на постопен попробовать ткнуть код рефреша.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab