Исполнение cgi-скриптов
Исполнение cgi-скрипта должно начинаться с вызова функции
startup модуля
Olymp:
my (%query) = Olymp::startup;
При этом происходит следующее:
- аутентификация пользователя через cookies (с использованием модуля Auth.pm )
- иницаилизация эксземпляра класса Global, содержащего информацию о привелегиях пользователя
- Разбор параметров Get-запросе, которые возвращаются в виде хеша этим методом
- Устаревшая проверка прав доступа к этой странице. Чтобы пропустить проверку, необходимо передать 'no auth' в качестве параметра.
Замечание 1: проверку доступа к странице (функция Permission::may_user_open_this_page) можно перенести в этот метод, вместо вызова в каждом cgi-скрипте
- Отрисовка хедера страницы. Если хедер не нужен, свледует передать 'no header' (см. код) в качестве параметра.
Проверка прав на просмотр страницы:
Error::printPermissionDeniedHtml() and exit unless Permission::may_user_open_this_page( PAGE );
Проверка выбранности тура :
Error::printTourNotSelected() and exit unless Permission::has_user_selected_tour();
(см. Замечание 1)
Перед выполнением операций в системе необходимо проверить права доступа пользователя для соответствующих операций.
Функции для проверки находятся в модуле
Permission.pm.
Сообщения об ошибках в модуле
Error.pm.