Mercurial > pub > Impl
view Lib/Engine/Security.pm @ 148:e6447ad85cb4
DOM objects now have a schema and schemaSource properties
RegExp now can launder data
Improved post to DOM transformation (multiple values a now supported)
Added new axes to navigation queries: ancestor and descendant
minor changes and bug fixes
author | wizard |
---|---|
date | Mon, 16 Aug 2010 08:26:44 +0400 |
parents | 16ada169ca75 |
children |
line wrap: on
line source
use strict; package Engine::Security; use Security::Auth; use Security; use Engine::Security::Auth; our @AuthMethods; my $AuthResult; my $AuthMod; my $AuthMethod; # use last auth method as default $AuthMethod = Engine::Security::Auth->new(%{$AuthMethods[$#AuthMethods]}) if @AuthMethods; sub AuthenticateContext { Security->CurrentSession(undef); #prevent previous session from closing foreach my $method (@AuthMethods) { my $AuthObj = Engine::Security::Auth->new(%$method); $AuthResult = $AuthObj->DoAuth(); # обновить текущий контекст безопасности, только если это необходимо $AuthObj->SetAuthResult($AuthResult) if $AuthResult->State == Security::AUTH_FAILED or $AuthResult->State == Security::AUTH_SUCCESS; $AuthMethod = $AuthObj and last if $AuthResult->State != Security::AUTH_FAILED and $AuthResult->State != Security::AUTH_NOAUTH; } $AuthMod = $AuthMethod->AuthMod if $AuthMethod; } sub SetAuthResult { shift; $AuthMethod->SetAuthResult(@_) if $AuthMethod; } sub AuthMod { return $AuthMethod ? $AuthMethod->AuthMod : undef; } 1;