• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

xKlonx

Народ как можно запретить редактирование формы для некоторых пользователей????
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
xRomax
я бы сказал иначе можно на картинку повесить экшен :)
 
T

TIA

xRomax
Точнее, наверно, не формы, а документа, открываемого по некой форме?
Выарианты по степени надёжности:
1. Определив всех, кому МОЖНО редактировать в Authors-поле и вход всем по ACL с авторскими правами.
2. Protected-поля
3. Сделать секцию с управляемым доступом
4. Проверить их права в событии QueryOpen формы
 
X

xKlonx

Народ есть 2 роли:
руководитель и исполнитель.Нужно сделать чтобы руководитель имел доступ к кнопкам, а исполнитель соответственно не имел. Но чёто не выходит.Например:
1. Ставлю себе роль исполнителя
2.В кнопке ставлю галочку типо хайд иф тру и пишу формулу:!@IsMember("[leader]";@UserRoles)
3.Ставлю себе роль лидера и вместо того чтобы видеть кнопку,её нет,но и это не всё.Ксли ставлю роль исполнителя тоже не видно.Подскажите что можно сделать?
 
H

hosm

Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).
 
N

nvyush

Возможно, виновато кеширование, попробуйте поменять локейшен или выйти и зайти в Notes.
Учтите, что @IsMember - case-sensitive, проверьте регистр роли в кнопке и ACL.
Кстати, !@IsMember("[leader]";@UserRoles) можно заменить на @IsNotMember("[leader]";@UserRoles).

Вдогонку: здесь можно юзать конструкции типа @IsNotMember("[leader]" : "[admin]"; @UserRoles) с перечислением всех ролей, которым разрешено видеть кнопку.
 
X

xKlonx

Перегружал,проверял роли, а кнопку не видно
 
H

hosm

Тогда глупый вопрос: база на сервере или стоит поддержка одинакового ACL на всех репликах? На локале без этой галки роли не работают...
 
X

xKlonx

База на локале.А где эту галку ставить или убирать???
 
H

hosm

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.
Забыла написать - галку надо ставить )
 
X

xKlonx

Спасибо заработало!!!

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

nvyush

Спасибо заработало!!!

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

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

morpheus

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

или

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

xKlonx

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

или

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

Скрывать поля не нужно,нужно чтобы пользователь видел информацию но не мог редактировать содержимое.АцесКонтролед секции тоже не покатят так как открыть ее сможет пользователь с определённой ролью
 
O

Omh

а ещё можно заюзать input enabled формулу у поля.
 
M

morpheus

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

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

Omh

Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
Начиная с восьмерки всё выпрямили.
 
N

nvyush

Только InputEnabled под семёркой не очень кайфово работает: ловит фокус и сохраняет отступ.
Начиная с восьмерки всё выпрямили.

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

Omh

Надо было на постопен попробовать ткнуть код рефреша.
 
Мы в соцсетях:

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