@@ -, +, @@ $userid = $retuserid if ( $retuserid ne ''); $userid = $retuserid if ( $retuserid ); --- C4/Auth.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- a/C4/Auth.pm +++ a/C4/Auth.pm @@ -690,7 +690,8 @@ sub checkauth { $userid = $s_userid; $sessiontype = $session->param('sessiontype') || ''; } - if ( ( $query->param('koha_login_context') && ($q_userid ne $s_userid) + if ( ( $query->param('koha_login_context') && + ($q_userid ne $s_userid) ) || ( $cas && $query->param('ticket') ) ) { #if a user enters an id ne to the id in the current session, we need to log them in... #first we need to clear the anonymous session... @@ -714,7 +715,7 @@ sub checkauth { logout_cas($query); } } - elsif ( $lasttime && ($lasttime < time() - $timeout) ) { + elsif ( !$lasttime || ($lasttime < time() - $timeout) ) { # timed logout $info{'timed_out'} = 1; $session->delete() if $session; @@ -838,7 +839,7 @@ sub checkauth { my $retuserid; ( $return, $cardnumber, $retuserid ) = checkpw( $dbh, $userid, $password, $query ); - $userid = $retuserid if ( $retuserid ne '' ); + $userid = $retuserid if ( $retuserid ); } if ($return) { #_session_log(sprintf "%20s from %16s logged in at %30s.\n", $userid,$ENV{'REMOTE_ADDR'},(strftime '%c', localtime)); --