view Lib/IMPL/Web/Security.pm @ 73:2f31ecabe9ea

doc security
author wizard
date Mon, 29 Mar 2010 06:56:05 +0400
parents f47f93534005
children 2d1c3f713280
line wrap: on
line source

package IMPL::Web::Security;

use base qw(IMPL::Object IMPL::Security IMPL::Object::Autofill);

use IMPL::Class::Property;

__PACKAGE__->PassThroughArgs;

BEGIN {
	public property sessionFactory => prop_get | owner_set;
	public property userFactory => prop_get | owner_set; 
}

sub CTOR {
	my ($this) = @_;
	
	$this->dataSource or die new IMPL::InvalidArgumentException("The argument is required",'dataSource');
}

sub Session {
	my ($this,%args) = @_;
}

sub User {
	
}

1;

__END__

=pod

=head1 NAME

C<IMPL::Web::Security> Модуль для аутентификации и авторизации веб запроса.

=head1 SINOPSYS

=begin code xml

<security type='IMPL::Config::Activator'>
	<factory>IMPL::Web::Security</factory>
	<parameters type='HASH'>
		<sessionFactory type='IMPL::Object::Factory'>
			<factory type='IMPL::Object::Factory'>App::Data::Session</factory>
			<method>insert</method>
		</sessionFactory>
	</parameters>
</security>

=end code xml

=head1 DESCRIPTION

Отвечает за инфраструктуру аутентификации и авторизации запросов. Основная особенность
заключается в том, что запросы приходят через значительные интевалы времени, хотя и
относятся к одной логической транзакции. В промежутках между запросами сервер не
сохраняет свое состояние. Поэтому при каждом обращении сервер восстанавливает
контекст безопасности.

C<IMPL::Web::Session> Объект обеспечивающий сохранение состояния в рамках одной сессии
пользователя. Кроме контекста безопасности хранит дополнительние данные, которые необходимо
сохранить между обработкой запросов.

C<IMPL::Web::User> Объект, устанавливающий связь между идентификатором пользователя
C<IMPL::Security::Principal>, его ролями и данными безопасности для создания объектов
аутентификации C<IMPL::Security::Auth>.

=head1 MEMBERS

=cut