Mercurial > pub > Impl
diff Lib/IMPL/Security/Auth.pm @ 52:15d720913562
security in work
author | wizard@linux-odin.local |
---|---|
date | Tue, 02 Mar 2010 20:12:02 +0300 |
parents | a1498298d3ee |
children | 739f1288ca84 |
line wrap: on
line diff
--- a/Lib/IMPL/Security/Auth.pm Mon Mar 01 17:25:36 2010 +0300 +++ b/Lib/IMPL/Security/Auth.pm Tue Mar 02 20:12:02 2010 +0300 @@ -1,15 +1,24 @@ package IMPL::Security::Auth; +use Digest::MD5 qw(md5_hex); + use constant { - SUCCESS => 1, - INCOMPLETE => 2, - FAIL => 3 + AUTH_SUCCESS => 1, + AUTH_INCOMPLETE => 2, + AUT_FAIL => 3 }; use base qw(Exporter); -our @EXPORT_OK = qw(&SUCCESS &INCOMPLETE &FAI); -our %EXPORT_TAGS = (Const => [qw(&SUCCESS &INCOMPLETE &FAI)]); +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++); + } +} 1; @@ -33,4 +42,20 @@ в которм содержится уникальные свойства сессии, например идентификатор, сеансовые ключи и т.д. +Пакет аутентификации должен иметь следующий интерфейс + +=over + +=item C<CTOR($SecData)> + +Создает пакет для авторизации на основе данных безопасности для пользователя + +=item C<< $obj->DoAuth($Challenge) >> + +Производит аутентификацию пользователя и инициализацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). + +=item C<< $obj->ValidateSession($Challenge) >> + +Производит аутентификацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge). + =cut \ No newline at end of file