Права доступа на All employees

Є налаштовані права доступу. коли "All employees" створює запис, то даються право на читання і редагування двом іншим групам. Але при створенні запису права доступу надаються наступні:

Двом групам, які налаштували

автору запису

і "All employees" - чомусь ця група має право на читання і редагування, хоча ніде таке налаштування не вказане.

В чому може бути причина самовільної видачі прав групі "All employees". В якому напрямку шукати?

Розділ кастомний.

версія 8.1.2

Like 0

Like

2 comments

Якщо налаштовувати права так:

То кейс не відтворюється в 8.1.2 в чистій збірці. Права видаються автору і двом ролям (1 та 3 лінія підтримки) для нових записів.

 

У Вашому випадку десь є або бізнес процес з перероздачею прав елементом бізнес процесу "Змінити права доступу" або стороння логіка. Бізнес процес може мати зняту ознаку логування, але почати треба з кейсу: створили запис, пішли в журнал бізнес процесів і подивились які бізнес процеси запустились в цей момент і чи немає там в тих бізнес процесах елементу "Змінити права доступу". Якщо процес не логується, то тоді складніше + це кейс пошуку логіки по всій системі.

 

Права доступу на записи об'єкту зберігаються в таблиці виду Sys...Right (наприклад для контакту SysContactRight, для контрагентів SysAccountRight і тд). Можна цим скористатись і скриптами (у випадку, якщо локальний сайт раниться на MS SQL - не забувайте додати hint nolock до запиту (мініфікуємо блокування в БД)):

 

select * from SysSchemaSource where Source like '%Sys...Right%'

select * from SysSchemaContent where Content like '%Sys...Right%'

select * from SysSchema where MetaData like '%Sys...Right%'

 

пошукати всі згадки про наш об'єкт з правами. Маловірогідно, що це поверне щось, але цим же підходом можна пошукати кастомний об'єкт розділу по його UId (взяти з таблиці SysSchema (колонка UId)).

 

І фінально перевірити чи не йде запит /0/rest/RightsService/ApplyChanges при збереженні нового запису в тілі якого прописано роль All employees (в network браузера). Можливо є якась кастомізація, яка робить напряму запит на RightsService і додає права.

Найшов старий БП котрий не логувався і давав права до запису, коли поле відповідальний - не заповнене.

Show all comments