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