Mercurial > pub > Impl
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