# HG changeset patch # User wizard # Date 1269511518 -10800 # Node ID d92d5ddaf524ed6a9fab044e58370e77e67584f8 # Parent 2dfb0b0ad12f9bf418d6c918a1fa3d27fda33445 docs diff -r 2dfb0b0ad12f -r d92d5ddaf524 Lib/IMPL/Security/Auth.pm --- a/Lib/IMPL/Security/Auth.pm Wed Mar 24 17:42:04 2010 +0300 +++ b/Lib/IMPL/Security/Auth.pm Thu Mar 25 13:05:18 2010 +0300 @@ -34,9 +34,11 @@ =pod -=head1 DESCRIPTION +=head1 NAME -Базовыйы объект для авторизации. +C Базовыйы класс для пакетов аутентификации. + +=head1 DESCRIPTION Аутентификация носит итеративный характер, для чего создается объект аутентификации который сохраняет состояние между итерациями. @@ -49,18 +51,58 @@ (C), либо неудача (C). Количество итераций может быть разным, зависит от пакета аутентификации. +=head1 EXPORT + +=over + +=item C<:Const> + +Константы результата аутентификации + +=over + +=item C + +Успешная аутентификация + +=item C + +Требуются дополнительные шаги + +=item C + +Аутентификация неуспешна. + +=back + +=back + +=head1 MEMBERS + =over =item C -Создает пакет для авторизации на основе данных безопасности для пользователя +Создает пакет для авторизации на основе данных безопасности для пользователя. +C<$SecData> - Зависит от пакета аутентификации. + +=item C -=item C<< $obj->DoAuth($Challenge) >> +Производит аутентификацию пользователя и инициализацию сессии, +возвращает результат аутентификации, в виде массива ($status,$challenge). + +=item C -Производит аутентификацию пользователя и инициализацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). +Производит аутентификацию сессии, возвращает результат аутентификации, +в виде массива ($status,$challenge). + +=item C<[static] CreateSecData(%args)> -=item C<< $obj->ValidateSession($Challenge) >> +Создает данные безопасности, на основе параметров. Параметры зависят от пакета аутентификации. -Производит аутентификацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). +=item C<[static] SecDataArgs()> + +Возвращает хеш с описанием параметров для функции C. Ключами являются +имена параметров, значениями - типы. =cut \ No newline at end of file diff -r 2dfb0b0ad12f -r d92d5ddaf524 Lib/IMPL/Security/Auth/Simple.pm --- a/Lib/IMPL/Security/Auth/Simple.pm Wed Mar 24 17:42:04 2010 +0300 +++ b/Lib/IMPL/Security/Auth/Simple.pm Thu Mar 25 13:05:18 2010 +0300 @@ -1,4 +1,5 @@ package IMPL::Security::Auth::Simple; +use strict; use base qw(IMPL::Security::Auth); use Digest::MD5; @@ -36,14 +37,32 @@ } } +sub CreateSecData { + my ($self,%args) = @_; + + die new IMPL::InvalidArgumentException("The parameter is required",'password') unless $args{password}; + + return md5_hex($args{password}); +} + +sub SecDataArgs { + + +} + 1; __END__ =pod +=head1 NAME + +C Модуль простой авторизации. + =head1 DESCRIPTION -Модуль простой авторизации + + =cut \ No newline at end of file