Mercurial > pub > Impl
view Lib/IMPL/Security/Auth.pm @ 69:8c7b88bdb663
Cookie Simple auth support
author | wizard |
---|---|
date | Wed, 24 Mar 2010 17:41:41 +0300 |
parents | 739f1288ca84 |
children | 2dfb0b0ad12f |
line wrap: on
line source
package IMPL::Security::Auth; use Digest::MD5 qw(md5_hex); use constant { AUTH_SUCCESS => 1, AUTH_INCOMPLETE => 2, AUT_FAIL => 3 }; use base qw(Exporter); our @EXPORT_OK = qw(&AUTH_SUCCESS &AUTH_INCOMPLETE &AUTH_FAIL &GenSSID); our %EXPORT_TAGS = (Const => [qw(&AUTH_SUCCESS &AUTH_INCOMPLETE &AUTH_FAIL)]); { my $i = 0; sub GenSSID() { return md5_hex(time,rand,$i++); } } sub DoAuth { die new IMPL::NotImplementedException; } sub ValidateSession { die new IMPL::NotImplementedException; } 1; __END__ =pod =head1 DESCRIPTION Базовыйы объект для авторизации. В процессе авторизации клиент и сервер обмениеваются данными безопасности C<$challenge>. При этом =over =item C<CTOR($SecData)> Создает пакет для авторизации на основе данных безопасности для пользователя =item C<< $obj->DoAuth($Challenge) >> Производит аутентификацию пользователя и инициализацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). =item C<< $obj->ValidateSession($Challenge) >> Производит аутентификацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). =cut