diff Lib/IMPL/Web/Security.pm @ 232:5c82eec23bb6

Fixed degradations due refactoring
author sergey
date Tue, 09 Oct 2012 20:12:47 +0400
parents ff1e8fa932f2
children 3cebcf6fdb9b
line wrap: on
line diff
--- a/Lib/IMPL/Web/Security.pm	Tue Oct 09 03:09:41 2012 +0400
+++ b/Lib/IMPL/Web/Security.pm	Tue Oct 09 20:12:47 2012 +0400
@@ -26,16 +26,11 @@
         };
     }
     
-    my ($status,$answer) = $auth->DoAuth($challenge);
-    
-    if ($status != AUTH_FAIL) {
-        SecurityContext->current->authority->InitSession(
-            $user,
-            $auth,
-            [$user->roles],
-            $answer
-        );
-    }
+    my $status = SecurityContext->current->authority->InitSession(
+        $user,
+        $auth,
+        [$user->roles]
+    );
     
     return {
         status => $status,
@@ -69,37 +64,32 @@
 
 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
 
-Отвечает за инфраструктуру аутентификации и авторизации запросов. Основная особенность
-заключается в том, что запросы приходят через значительные интевалы времени, хотя и
-относятся к одной логической транзакции. В промежутках между запросами сервер не
-сохраняет свое состояние. Поэтому при каждом обращении сервер восстанавливает
-контекст безопасности.
+Текущий модуль обеспечивает функции верхнего уровня для работы с системой
+безопасности. Поскольку модуль является абстрактым, конкретные функции
+хранения и реализацию объектов модели безопасности должно обеспечить само
+приложение.
+
+Сама система безопасности в веб приложении состоит из двух частей
+
+=over
+
+=item Модель системы безопасности
 
-C<IMPL::Web::Security::Session> Объект обеспечивающий сохранение состояния в рамках одной сессии
-пользователя. Кроме контекста безопасности хранит дополнительние данные, которые необходимо
-сохранить между обработкой запросов.
+Предоставляет такие объкты безопасности, как пользователь, сессия роль,
+определяет правила проверки прав доступа субъекта к объекту.
+
+=item Модуль безопасности
 
-C<IMPL::Web::Security::User> Объект, устанавливающий связь между идентификатором пользователя
-C<IMPL::Security::Principal>, его ролями и данными безопасности для создания объектов
-аутентификации C<IMPL::Security::Auth>.
+Как правило встраивается в транспортный уровеь в виде обработчика
+C<IMPL::Web::Handler> и реализует непосредственно протокол аутентификации и
+обмена с пользователем.
+
+Также модуль безопасности использует модель для хранения сессий и данных
+аутентификции. Контекст безопасности создается именно этим модулем.
+
+=back
 
 =head1 MEMBERS