Mercurial > pub > Impl
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 253:0a228a35645c | 254:fb52014f6931 |
|---|---|
| 84 } | 84 } |
| 85 | 85 |
| 86 sub InitSession { | 86 sub InitSession { |
| 87 my ($this,$user,$roles,$auth,$challenge) = @_; | 87 my ($this,$user,$roles,$auth,$challenge) = @_; |
| 88 | 88 |
| 89 my ($status,$answer) = $auth->DoAuth($challenge); | 89 my ($status,$answer); |
| 90 | |
| 91 if ($auth) { | |
| 92 ($status,$answer) = $auth->DoAuth($challenge); | |
| 93 } else { | |
| 94 $status = AUTH_SUCCESS; | |
| 95 } | |
| 90 | 96 |
| 91 die OperationException->new("This provider doesn't support multiround auth") | 97 die OperationException->new("This provider doesn't support multiround auth") |
| 92 if ($status == AUTH_INCOMPLETE || $answer); | 98 if ($status == AUTH_INCOMPLETE || $answer); |
| 93 | 99 |
| 94 if ($status == AUTH_SUCCESS) { | 100 if ($status == AUTH_SUCCESS) { |
| 108 rolesAssigned => $roles | 114 rolesAssigned => $roles |
| 109 ); | 115 ); |
| 110 | 116 |
| 111 $context->Apply(); | 117 $context->Apply(); |
| 112 | 118 |
| 113 $this->_manager->SaveSession($context); | |
| 114 } | 119 } |
| 115 | 120 |
| 116 return $status; | 121 return $status; |
| 117 } | 122 } |
| 118 | 123 |
| 172 =head2 C<[get,set] salt> | 177 =head2 C<[get,set] salt> |
| 173 | 178 |
| 174 Скаляр, использующийся для подписи данных. | 179 Скаляр, использующийся для подписи данных. |
| 175 | 180 |
| 176 | 181 |
| 177 =head2 C<InitSession($user,$auth,$roles)> | 182 =head2 C<InitSession($user,$roles,$auth,$challenge)> |
| 183 | |
| 184 Инициирует сессию, поскольку данный модуль отвечает за взаимодействие с клиентом | |
| 185 при проверки аутентификации, ему передаются данные аутентификации для | |
| 186 продолжения обмена данными с клиентом. Если создается новая сессия, по | |
| 187 инициативе веб-приложения, то C<$auth> должно быть пусто. | |
| 178 | 188 |
| 179 =cut | 189 =cut |
