Архив рубрики: Perl — документация

Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 3. Роли пользователей

Использование ролей в Catalyst. Плагин Catalyst::Plugin::Authorization::Roles. Создание таблиц с ролями в БД, установка ограничений доступа в контроллере.

Читать далее

Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 2. Аутентификация и авторизация

Аутентификация и авторизация пользователей в Catalyst-приложении. Аутентификация на основе
DBI. Работа с Catalyst::Authentication::Store::DBI::ButMaintained и Catalyst::Authentication::Credential::Password. Создание таблицы users в БД.

Читать далее

Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 1. Сессии в Catalyst

Создание модели DBI в Catalyst. Использование DBI-модели. Реализация системы сессий в Catalyst, с помощью плагинов Catalyst::Plugin::Session::PerUser, Catalyst::Plugin::Session::Store::DBI, Catalyst::Plugin::Session::State::Cookie. Примеры кода, скриншоты.

Ввиду того, что VPS от REG.RU с некоторых пор убивает все процессы cpan на установку новых модулей, а новый хороший сервер для тестирования пока не найден, система авторизации разрабатывалась под Windows-окружением.

Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 2. Аутентификация и авторизация
Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 3. Роли пользователей

Читать далее

Использование pid-файлов для предотвращения повторного запуска скрипта

Использование модулей File::Pid, Pid::File::Flock и File::Flock::Tiny. Блокировки файлов, работа с pid-файлами. Работа только одной копии скрипта в один момент времени. Защита от повторного запуска одного и того же скрипта, до того, как первый экземпляр завершит свою работу.

Читать далее

Как реализовать простой ajax-запрос в приложении Catalyst

Как добавить ajax-запрос при разработке Catalyst-приложения. Создание JSON-представления в Catalyst. Возврат данных в формате json. Изменение набора данных во втором элементе select, в засимости от того, какую строку пользователь выбрал в первом элементе select. Примеры perl-кода, html, js-скрипт. Установка jQuery.

Читать далее

Использование MongoDB в Catalyst. Часть 1. Примеры кода

Разработка панели администратора, для доступа к системе логов. Создание модели для работы с MongoDB в Catalyst. Создание контроллера и tt-шаблонов для панели администратора. Взаимодействие с MongoDB, выборка данных, сортировка, использование лимитов, поиск одной-единственной записи. Получение списка всех доступных баз данных Mongo. Использование Variable::Eject. Простые примеры кода.

Читать далее

Использование статики в Catalyst-приложении (плагин Static::Simple)

Мое тестовое catalyst-приложение начинает потихоньку развиваться и приобретать функциональность. Для создания интерфейса администратора я решила использовать jQuery UI и мне потребовалось добавить в шаблоны ссылки на статические файлы. Ссылки были добавлены, каждую из них catalyst попытался обработать и вернул 404.

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

Читать далее

Взаимодействие Catalyst-приложения с внешним API. Пример 1

В дальнейшем хотелось бы найти время и рассмотреть несколько примеров взаимодействия Catalyst-приложения с внешними API. Например, API социальных сетей и авторизация с помощью OAuth (особенно заинтересовал Twitter), API платежных систем, API для совершения покупок он-лайн. Ниже - самый простой, односторонний, пример взаимодействия с внешней системой (строго говоря, это даже назвать API нельзя).

Читать далее

Использование MooseX::Singleton в Catalyst-приложении

Использование MooseX::Singleton в Catalyst-приложении на конкретном примере, при реализации работы с конфигурационными данными. Использование паттерна "Singleton" в Catalyst-приложении. Примеры кода. Примеры использования Class::Accessor.

Читать далее

Ведение логов в Catalyst с помощью Log::Dispatch

Log::Dispatch помогает задать - насколько подробно будет осуществляться логирование. Будут ли выводиться в лог только критические ошибки, или будут включены и отладочные сообщения, или уровень, начиная с не критичных предупреждений. Кроме того, с помощью Log::Dispatch удобно задавать объекты для вывода сообщений.

Читать далее