diff 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 diff
--- a/Lib/IMPL/Web/Security.pm	Fri Mar 26 16:26:31 2010 +0300
+++ b/Lib/IMPL/Web/Security.pm	Mon Mar 29 06:56:05 2010 +0400
@@ -1,29 +1,72 @@
 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
 
-Модуль для аутентификации и авторизации веб запроса.
-
-Получает запрос, вычленяет из него информацию для авторизации, производит авторизацию пользователя
-и создает контекст безопасности.
-
-При этом использует указанные модули аутентификации.
-
-Информацию для аутентификации модуль получает через соответствующие адаптеры.
+Отвечает за инфраструктуру аутентификации и авторизации запросов. Основная особенность
+заключается в том, что запросы приходят через значительные интевалы времени, хотя и
+относятся к одной логической транзакции. В промежутках между запросами сервер не
+сохраняет свое состояние. Поэтому при каждом обращении сервер восстанавливает
+контекст безопасности.
 
-=item C<IMPL::Web::Security::Server>
-
-Аутентифицирует пользователя на основе данных, предоставленных сервером
+C<IMPL::Web::Session> Объект обеспечивающий сохранение состояния в рамках одной сессии
+пользователя. Кроме контекста безопасности хранит дополнительние данные, которые необходимо
+сохранить между обработкой запросов.
 
-=item C<IMPL::Web::Security::Embed>
+C<IMPL::Web::User> Объект, устанавливающий связь между идентификатором пользователя
+C<IMPL::Security::Principal>, его ролями и данными безопасности для создания объектов
+аутентификации C<IMPL::Security::Auth>.
 
-Аутентифицирует пользователя используя указанные модули, при этом получает данные
-из запроса.
+=head1 MEMBERS
 
 =cut
\ No newline at end of file