X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FAuth.pm;h=3dc49f0c40c5cef4018bb5bd2e0f2e3ba445a71b;hb=363ea5ce08c6e7c729a3d407b498bf89ea8a9d25;hp=6388b5b864a4207dc178f01b0c13e908edbc0989;hpb=4273c02ba1c0d71bb07c3a0b33ce76fae72a5917;p=srvgit diff --git a/C4/Auth.pm b/C4/Auth.pm index 6388b5b864..3dc49f0c40 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -34,7 +34,7 @@ use C4::VirtualShelves; use POSIX qw/strftime/; # use utf8; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout); +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout $servers $memcached); BEGIN { $VERSION = 3.02; # set version for version checking @@ -54,7 +54,17 @@ BEGIN { require C4::Auth_with_cas; # no import import C4::Auth_with_cas qw(checkpw_cas login_cas logout_cas login_cas_url); } - + $servers = C4::Context->config('memcached_servers'); + $memcached; + if ($servers) { + require Cache::Memcached; + $memcached = Cache::Memcached->new({ + servers => [ $servers ], + debug => 0, + compress_threshold => 10_000, + namespace => C4::Context->config('memcached_namespace') || 'koha', + }); + } } =head1 NAME @@ -1362,6 +1372,9 @@ sub get_session { elsif ($storage_method eq 'Pg') { $session = new CGI::Session("driver:PostgreSQL;serializer:yaml;id:md5", $sessionID, {Handle=>$dbh}); } + elsif ($storage_method eq 'memcached' && $servers){ + $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => $memcached } ); + } else { # catch all defaults to tmp should work on all systems $session = new CGI::Session("driver:File;serializer:yaml;id:md5", $sessionID, {Directory=>'/tmp'});