diff Lib/IMPL/Web/Handler/SecureCookie.pm @ 254:fb52014f6931

updated web-session creation
author sergey
date Thu, 06 Dec 2012 19:58:42 +0400
parents 23daf2fae33a
children 4ac39b9e2ca4
line wrap: on
line diff
--- a/Lib/IMPL/Web/Handler/SecureCookie.pm	Mon Nov 19 17:54:01 2012 +0400
+++ b/Lib/IMPL/Web/Handler/SecureCookie.pm	Thu Dec 06 19:58:42 2012 +0400
@@ -86,7 +86,13 @@
 sub InitSession {
     my ($this,$user,$roles,$auth,$challenge) = @_;
     
-    my ($status,$answer) = $auth->DoAuth($challenge);
+    my ($status,$answer);
+    
+    if ($auth) {
+        ($status,$answer) = $auth->DoAuth($challenge);
+    } else {
+    	$status = AUTH_SUCCESS;
+    }
     
     die OperationException->new("This provider doesn't support multiround auth")
         if ($status == AUTH_INCOMPLETE || $answer);
@@ -110,7 +116,6 @@
 	    
 	    $context->Apply();
 	    
-	    $this->_manager->SaveSession($context);
     }
     
     return $status;
@@ -174,6 +179,11 @@
 Скаляр, использующийся для подписи данных.
 
 
-=head2 C<InitSession($user,$auth,$roles)>
+=head2 C<InitSession($user,$roles,$auth,$challenge)>
+
+Инициирует сессию, поскольку данный модуль отвечает за взаимодействие с клиентом
+при проверки аутентификации, ему передаются данные аутентификации для
+продолжения обмена данными с клиентом. Если создается новая сессия, по
+инициативе веб-приложения, то C<$auth> должно быть пусто. 
 
 =cut