Mercurial > pub > Impl
changeset 71:d92d5ddaf524
docs
author | wizard |
---|---|
date | Thu, 25 Mar 2010 13:05:18 +0300 |
parents | 2dfb0b0ad12f |
children | eac47fa4f262 |
files | Lib/IMPL/Security/Auth.pm Lib/IMPL/Security/Auth/Simple.pm |
diffstat | 2 files changed, 69 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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<IMPL::Security::Auth> Базовыйы класс для пакетов аутентификации. + +=head1 DESCRIPTION Аутентификация носит итеративный характер, для чего создается объект аутентификации который сохраняет состояние между итерациями. @@ -49,18 +51,58 @@ (C<AUTH_INCOMPLETE>), либо неудача (C<AUTH_FAIL>). Количество итераций может быть разным, зависит от пакета аутентификации. +=head1 EXPORT + +=over + +=item C<:Const> + +Константы результата аутентификации + +=over + +=item C<AUTH_SUCCESS> + +Успешная аутентификация + +=item C<AUTH_INCOMPLETE> + +Требуются дополнительные шаги + +=item C<AUTH_FAILED> + +Аутентификация неуспешна. + +=back + +=back + +=head1 MEMBERS + =over =item C<CTOR($SecData)> -Создает пакет для авторизации на основе данных безопасности для пользователя +Создает пакет для авторизации на основе данных безопасности для пользователя. +C<$SecData> - Зависит от пакета аутентификации. + +=item C<DoAuth($Challenge)> -=item C<< $obj->DoAuth($Challenge) >> +Производит аутентификацию пользователя и инициализацию сессии, +возвращает результат аутентификации, в виде массива ($status,$challenge). + +=item C<ValidateSession($Challenge)> -Производит аутентификацию пользователя и инициализацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). +Производит аутентификацию сессии, возвращает результат аутентификации, +в виде массива ($status,$challenge). + +=item C<[static] CreateSecData(%args)> -=item C<< $obj->ValidateSession($Challenge) >> +Создает данные безопасности, на основе параметров. Параметры зависят от пакета аутентификации. -Производит аутентификацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). +=item C<[static] SecDataArgs()> + +Возвращает хеш с описанием параметров для функции C<CreateSecData>. Ключами являются +имена параметров, значениями - типы. =cut \ No newline at end of file
--- 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<IMPL::Security::Auth::Simple> Модуль простой авторизации. + =head1 DESCRIPTION -Модуль простой авторизации + + =cut \ No newline at end of file