Зв’язка “Сутність – операція – блок(и)” є базовою для розрахунку дозволу користувача. Над цією зв’язкою знаходиться рівень абстракції “Роль”.

13.1.4  Ролі

Якщо “Сутність” задає логічний об’єкт, для котрого існують (розраховуються) права, то “Роль” задає логічний набір користувачів, для яких ці права доступні взагалі. Так, може бути роль “Користувач”, для якої доступні деякі сутності та операції з ними, чи роль “Оператор”, для якої доступний зовсім інший набір прав.

13.1.5  Делегація прав

У кожного користувача системи є набір прав, яки він має. Існує можливість передати своє право (права) іншому користувачу тимчасово або постійно. При такому делегуванні також можна задати, чи буде інший користувач (делегуємий) працювати від імені делегатора, тобто, користувача, який передає право на операцію з сутністю, чи ні, права на операцію повинні розраховуватись від власного імені делегуємого.

13.2  Ведення прав на операції та сутності

Першим інтерфейсом ведення прав є конструктор сутностей та операцій. Цей інтерфейс дає можливість розробити нові сутності, операції, логічні блоки.

Мал. 12‑1 Сутності і операції з ними

Браузер є контекстно-залежним, тобто, дії над ним залежать від місцезнаходження курсору. Якщо курсор встановлено на колонку “Сутності”, то редагування (кнопка F4), видалення, створення нового запису буде проводитись на сутностях. Якщо курсор встановлено на колонці “Операції”, то дії відносяться до операцій:

Мал. 12‑2 Перегляд картки сутності

НЕ нашли? Не то? Что вы ищете?

Якщо курсор встановлено на список операцій, то картка редагує логічні блоки і має вигляд:

Мал. 12‑3 Перегляд картки логічного блоку

При написанні логічних блоків та базового блоку можна користуватися макросами. Список макросів можна отримати, якщо натиснути кнопку допомоги (зона “1” на рисунку).

Картка редагування операції має інший вигляд:

Мал. 12‑4 Перегляд картки операції

Елементи керування карткою:

1)  Код операції, використовується для визначення унікального коду.

2)  Назва операції.

3)  Список логічних блоків, які входять до операції.

4)  Текст базового SQL визначення права на операцію.

5)  Текст SQL логічних блоків, яки уточнюють базове правило.

6)  Панель керування відображенням тексту логічних блоків (перенос поблочно, по рядках).

7)  Кнопка виклику графічного дизайнеру діаграми прав на операцію.

У підсистемі окремо ведуться сутності, операції та логічні блоки. Це дає змогу досить зручно керувати розробкою прав, але накладає обмеження на редагування зв’язків між блоками. Тобто, у системі є універсальний набір блоків, таких, як “Автор”, “Контролер”, “Керівник” та інших. Право на операцію розраховується на підставі базового правила (зона “4” Мал. 12‑4) та комбінації блоків і зв’язків між ними – правил “та” і “або”. Щоб дати змогу зручно редагувати такі зв’язки, існує графічний дизайнер діаграми (схеми):

Мал. 12‑5 Графічний дизайнер поєднання блоків

1)  Панель вибору логічного блоку.

2)  Панель керування дизайнером.

3)  Група логічних блоків.

4)  Логічний блок.

5)  Зв’язок

6)  Панель керування текстовим відображенням діаграми.

7)  Текстове відображення.

Панель вибору блоку використовується для вказівки логічного блоку, типу поєднання чи групи. Для того, щоб додати до діаграми новий логічний блок, треба натиснути на ньому або вибрати зі спадаючого списку, а потім натиснути на вільному полі діаграми чи у потрібній групі.

Коли на діаграмі встановлено всі потрібні блоки, треба задати зв’язки між ними. Для цього треба обрати тип зв’язку “або” чи “та” і натиснути послідовно на блок, від якого зв’язок та на блок, до якого зв’язок. Якщо блоки знаходяться у різних групах, то натискувати потрібно на заголовок групи.

Для видалення блоку, групи чи зв’язку потрібно натиснути праву кнопку миші на відповідному елементі і обрати з спадаючого меню потрібну дію.

Підсистема перевіряє у реальному часі коректність сумарного SQL, за яким буде розраховано права. Якщо знайдено помилку, підсистема виводить попередження та блокує можливість збереження схеми до виправлення помилки:

Мал. 12‑6 Помилка у діаграмі

На приведеному рисунку відсутній зв’язок між “Автор КК” та групою 1.

Діаграма може бути наведена як у вертикальному (Мал. 12‑5), так і у горизонтальному вигляді (Мал. 12‑6). Для зміни вигляду на панелі керування дизайнером можна натиснути кнопку .

Якщо потрібно бачити текстовий вигляд розрахунку прав, можна натиснути кнопку на панелі керування дизайнером. В нижній частині дизайнеру з’явиться панель текстового вигляду (зона “7” Мал. 12‑5). Існує можливість бачити як природний текст (на рисунку), так і SQL:

Мал. 12‑7 Діаграма у вигляді SQL

1)  Кнопки керування: перенос, природний текст/SQL, виконання SQL.

2)  Текст SQL.

3)  Список параметрів для SQL, які потрібні для його виконання.

4)  Зона результатів виконання SQL.

Користувач має можливість виконати вручну результуючий SQL та переглянути повернутий сервером курсор.

Після повного конструювання примітивів (сутностей, операцій/блоків) можна переходити до ведення ролей.

13.2.1  Ролі

Роль – це іменований набір операцій над однією чи декількома сутностями. Для ведення ролей підсистема дає такий браузер:

Мал. 12‑8 Ролі

Цей браузер також є контекстно-залежним і керує різними картками залежно від місцезнаходження курсору. Щоб додати нову роль чи редагувати назву та код існуючої, треба знаходитися на колонці ролей. Для роботи з операціями та правами треба знаходитись на браузері сутностей та операцій, вести користувачів можна з таблиці користувачів.

Мал. 12‑9 Ролі, вибір користувачів – фільтр

У браузерах операцій, користувачів працює режим мультиобіру. Найбільш нетривіальною операцією з ролями та користувачами є дозвіл на передачу (делегування) прав іншому користувачу (кнопка ). Якщо користувач має такий дозвіл, то він може передати свої права (частину чи всі) іншому користувачу.

Будь-який користувач має змогу переглянути всі права, які він має, свої, чи передані іншим користувачам; а також права, котрі він передавав іншим:

Мал. 12‑10 Права користувача

Щоб передати права на будь-яку операцію, треба обрати необхідні операції у колонці зліва та натиснути кнопку передачі () чи просто перетягнути та відпустити обрані операції на верхній браузер “Права, котрі ви делегували іншим користувачам”. Буде відчинено картку параметрів:

Мал. 12‑11 Передача прав користувача

1)  Список користувачів, кому передавати право (права).

2)  Дати дії передачі.

3)  Дозвіл виступати в переданих операціях від імені володаря.

Тут можна задати список користувачем, яким передаються право чи права, дату дії (якщо не задавати дати, то передача буде необмеженою) та дозвіл діяти від імені володаря права. Делегувати не власне право неможливо, тобто, делегація діє лише на один рівень.

Мал. 12‑12 Автофільтрація прав

Користувач має змогу включити автоматичну фільтрацію (зона “1”), тоді у браузерах переданих та отриманих прав буде виконуватися фільтрація по операціям.

Якщо потрібно передати всі права одного чи декількох користувачів іншому набору користувачів, потрібно обрати права та натиснути кнопку “2” (це робити мають право лише адміністратори). Підсистема запитає список користувачів, права яких потрібно передавати та список користувачів, кому вони будуть передані.

[1] Згальний опис роботи користувача в системі (в т. ч. меню, списки, суттєвості, фільтри тощо) детально наведено в “Інструкції користувача”. У цієї ж інструкції розглядаються правила роботи з довідниками системи, в т. ч. операцій редагування, вилучення, створення інформації в інтерфейсі АСЕДО.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28