From: erickson Date: Thu, 12 Oct 2006 21:13:05 +0000 (+0000) Subject: moved the checkauth function to a local cache-reading version so it does not have... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=74e8434a22c16907e410cfc7191fbf594dbd85c1;p=evergreen%2Fpines.git moved the checkauth function to a local cache-reading version so it does not have to go to the auth server every time git-svn-id: svn://svn.open-ils.org/ILS/trunk@6462 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Utils/CStoreEditor.pm b/Open-ILS/src/perlmods/OpenILS/Utils/CStoreEditor.pm index f360a4764a..de8d0d39b3 100644 --- a/Open-ILS/src/perlmods/OpenILS/Utils/CStoreEditor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Utils/CStoreEditor.pm @@ -10,6 +10,7 @@ use JSON; use OpenSRF::Utils::Logger qw($logger); my $U = "OpenILS::Application::AppUtils"; my %PERMS; +my $cache; #my %PERMS = ( # 'biblio.record_entry' => { update => 'UPDATE_MARC' }, @@ -88,12 +89,23 @@ sub log { # ----------------------------------------------------------------------------- # Verifies the auth token and fetches the requestor object # ----------------------------------------------------------------------------- +#sub checkauth { +# my $self = shift; +# $self->log(D, "checking auth token ".$self->authtoken); +# my ($reqr, $evt) = $U->checkses($self->authtoken); +# $self->event($evt) if $evt; +# return $self->{requestor} = $reqr; +#} + + sub checkauth { my $self = shift; - $self->log(D, "checking auth token ".$self->authtoken); - my ($reqr, $evt) = $U->checkses($self->authtoken); - $self->event($evt) if $evt; - return $self->{requestor} = $reqr; + $cache = OpenSRF::Utils::Cache->new('global') unless $cache; + $self->log(D, "checking cached auth token ".$self->authtoken); + my $user = $cache->get_cache("oils_auth_".$self->authtoken); + return $self->{requestor} = $user->{userobj} if $user; + $self->event(OpenILS::Event->new('NO_SESSION')); + return undef; }