ЛР8 zenon: Адміністрування користувачів та блокування

Функції адміністратора

Як ми вже згадували, серед усіх користувачів, створених в проекті, обов’язково повинен бути один з правами адміністратора (в нашому проекті - 'Інженер'). 

Спробуйте тричі ввести невірно пароль чи ім’я. Система заблокує Вас, а розблокувати зможе тільки адміністратор - 'Інженер'.

Також адміністратор може в онлайн режимі додавати нових користувачів. Давайте перевіримо як це працює.

Завдання 8.9: Створіть нову функцію для редагуваня користувачів та кнопку її виклику.

  • Створіть нову функцію User administration -> Change user і назвіть 'Редагування користувачів'
  • На екрані 'Логін' розмістіть іще одну кнопку з ім’ям 'User edit' і прив’яжіть створену функцію

Запустіть проект і авторизуйтесь з правами адміністратора. Натисніть кнопку 'User edit'. З’явиться наступне вікно:

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

Завдання 8.10: Перевірте роботу функції створення нового користувача.

Давайте зараз створимо ще одного користувача.

  • Натисніть кнопку New і створіть нового користувача з такими даними:

Username: Директор

Complete name: Георгій Миколайович

Authorization levels: 0, 1

Зверніть увагу на те, що адміністратор не може створити нового користувача з більшими рівнями доступу, ніж він має сам.

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

Оскільки користувач 'Директор' має рівень доступу 0 і 1, то системні кнопки 'Exit' і 'Reload' будуть недоступні, аналогічно до прав користувача 'Оператор'.

Таким чином, в онлайн режимі можна додати необмежену кількість нових користувачів. Внесені дані будуть зберігатися в Runtime-файлі 'password.cmp'. В базі даних проекту цієї інформації немає, тому якщо в середовищі розробки виконати компілювання проекту при знятій галочці RT changeable data -> User administration, то внесена в онлайн режимі інформація буде втрачена.  

Завдання 8.11: Імпортувати нового користувача з середовища виконання в проект.

В середовищі розробки проекту існує технологія, яка дозволяє виконати зворотнє зчитування Runtime-даних в базу проекту: інструментальна панель Runtime files -> Import Runtime files.

  • На панелі інструментів натисніть іконку Import Runtime files

 В результаті, створений нами користувач 'Директор' з’явиться в середовищі розробки проекту.

Самостійно промоделюйте виконання адміністратором блокування в онлайн режимі користувача 'Оператор'.

Докладніше про систему адміністрування можна познайомитись в мануалі User administration.