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