comparison 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
comparison
equal deleted inserted replaced
51:a1498298d3ee 52:15d720913562
1 package IMPL::Security::Auth; 1 package IMPL::Security::Auth;
2 2
3 use Digest::MD5 qw(md5_hex);
4
3 use constant { 5 use constant {
4 SUCCESS => 1, 6 AUTH_SUCCESS => 1,
5 INCOMPLETE => 2, 7 AUTH_INCOMPLETE => 2,
6 FAIL => 3 8 AUT_FAIL => 3
7 }; 9 };
8 10
9 use base qw(Exporter); 11 use base qw(Exporter);
10 12
11 our @EXPORT_OK = qw(&SUCCESS &INCOMPLETE &FAI); 13 our @EXPORT_OK = qw(&AUTH_SUCCESS &AUTH_INCOMPLETE &AUTH_FAIL &GenSSID);
12 our %EXPORT_TAGS = (Const => [qw(&SUCCESS &INCOMPLETE &FAI)]); 14 our %EXPORT_TAGS = (Const => [qw(&AUTH_SUCCESS &AUTH_INCOMPLETE &AUTH_FAIL)]);
15
16 {
17 my $i = 0;
18 sub GenSSID() {
19 return md5_hex(time,rand,$i++);
20 }
21 }
13 22
14 1; 23 1;
15 24
16 __END__ 25 __END__
17 26
31 40
32 Полученный контекст безопасности содержит объект для доступа к сессии аутентификации, 41 Полученный контекст безопасности содержит объект для доступа к сессии аутентификации,
33 в которм содержится уникальные свойства сессии, например идентификатор, сеансовые ключи 42 в которм содержится уникальные свойства сессии, например идентификатор, сеансовые ключи
34 и т.д. 43 и т.д.
35 44
45 Пакет аутентификации должен иметь следующий интерфейс
46
47 =over
48
49 =item C<CTOR($SecData)>
50
51 Создает пакет для авторизации на основе данных безопасности для пользователя
52
53 =item C<< $obj->DoAuth($Challenge) >>
54
55 Производит аутентификацию пользователя и инициализацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge).
56
57 =item C<< $obj->ValidateSession($Challenge) >>
58
59 Производит аутентификацию сессии, возвращает результат аутентификации, в виде массива ($status,$challenge).
60
36 =cut 61 =cut