Lines 690-705
sub checkauth {
Link Here
|
690 |
#first we need to clear the anonymous session... |
690 |
#first we need to clear the anonymous session... |
691 |
$debug and warn "query id = $q_userid but session id = $s_userid"; |
691 |
$debug and warn "query id = $q_userid but session id = $s_userid"; |
692 |
$anon_search_history = $session->param('search_history'); |
692 |
$anon_search_history = $session->param('search_history'); |
693 |
$session->flush; |
|
|
694 |
$session->delete(); |
693 |
$session->delete(); |
|
|
694 |
$session->flush; |
695 |
C4::Context->_unset_userenv($sessionID); |
695 |
C4::Context->_unset_userenv($sessionID); |
696 |
$sessionID = undef; |
696 |
$sessionID = undef; |
697 |
$userid = undef; |
697 |
$userid = undef; |
698 |
} |
698 |
} |
699 |
elsif ($logout) { |
699 |
elsif ($logout) { |
700 |
# voluntary logout the user |
700 |
# voluntary logout the user |
701 |
$session->flush; |
|
|
702 |
$session->delete(); |
701 |
$session->delete(); |
|
|
702 |
$session->flush; |
703 |
C4::Context->_unset_userenv($sessionID); |
703 |
C4::Context->_unset_userenv($sessionID); |
704 |
#_session_log(sprintf "%20s from %16s logged out at %30s (manually).\n", $userid,$ip,(strftime "%c",localtime)); |
704 |
#_session_log(sprintf "%20s from %16s logged out at %30s (manually).\n", $userid,$ip,(strftime "%c",localtime)); |
705 |
$sessionID = undef; |
705 |
$sessionID = undef; |
Lines 712-718
sub checkauth {
Link Here
|
712 |
elsif ( !$lasttime || ($lasttime < time() - $timeout) ) { |
712 |
elsif ( !$lasttime || ($lasttime < time() - $timeout) ) { |
713 |
# timed logout |
713 |
# timed logout |
714 |
$info{'timed_out'} = 1; |
714 |
$info{'timed_out'} = 1; |
715 |
$session->delete() if $session; |
715 |
if ($session) { |
|
|
716 |
$session->delete(); |
717 |
$session->flush; |
718 |
} |
716 |
C4::Context->_unset_userenv($sessionID); |
719 |
C4::Context->_unset_userenv($sessionID); |
717 |
#_session_log(sprintf "%20s from %16s logged out at %30s (inactivity).\n", $userid,$ip,(strftime "%c",localtime)); |
720 |
#_session_log(sprintf "%20s from %16s logged out at %30s (inactivity).\n", $userid,$ip,(strftime "%c",localtime)); |
718 |
$userid = undef; |
721 |
$userid = undef; |
Lines 724-729
sub checkauth {
Link Here
|
724 |
$info{'newip'} = $ENV{'REMOTE_ADDR'}; |
727 |
$info{'newip'} = $ENV{'REMOTE_ADDR'}; |
725 |
$info{'different_ip'} = 1; |
728 |
$info{'different_ip'} = 1; |
726 |
$session->delete(); |
729 |
$session->delete(); |
|
|
730 |
$session->flush; |
727 |
C4::Context->_unset_userenv($sessionID); |
731 |
C4::Context->_unset_userenv($sessionID); |
728 |
#_session_log(sprintf "%20s from %16s logged out at %30s (ip changed to %16s).\n", $userid,$ip,(strftime "%c",localtime), $info{'newip'}); |
732 |
#_session_log(sprintf "%20s from %16s logged out at %30s (ip changed to %16s).\n", $userid,$ip,(strftime "%c",localtime), $info{'newip'}); |
729 |
$sessionID = undef; |
733 |
$sessionID = undef; |
Lines 1201-1206
sub check_api_auth {
Link Here
|
1201 |
if ( $lasttime < time() - $timeout ) { |
1205 |
if ( $lasttime < time() - $timeout ) { |
1202 |
# time out |
1206 |
# time out |
1203 |
$session->delete(); |
1207 |
$session->delete(); |
|
|
1208 |
$session->flush; |
1204 |
C4::Context->_unset_userenv($sessionID); |
1209 |
C4::Context->_unset_userenv($sessionID); |
1205 |
$userid = undef; |
1210 |
$userid = undef; |
1206 |
$sessionID = undef; |
1211 |
$sessionID = undef; |
Lines 1208-1213
sub check_api_auth {
Link Here
|
1208 |
} elsif ( $ip ne $ENV{'REMOTE_ADDR'} ) { |
1213 |
} elsif ( $ip ne $ENV{'REMOTE_ADDR'} ) { |
1209 |
# IP address changed |
1214 |
# IP address changed |
1210 |
$session->delete(); |
1215 |
$session->delete(); |
|
|
1216 |
$session->flush; |
1211 |
C4::Context->_unset_userenv($sessionID); |
1217 |
C4::Context->_unset_userenv($sessionID); |
1212 |
$userid = undef; |
1218 |
$userid = undef; |
1213 |
$sessionID = undef; |
1219 |
$sessionID = undef; |
Lines 1224-1229
sub check_api_auth {
Link Here
|
1224 |
return ("ok", $cookie, $sessionID); |
1230 |
return ("ok", $cookie, $sessionID); |
1225 |
} else { |
1231 |
} else { |
1226 |
$session->delete(); |
1232 |
$session->delete(); |
|
|
1233 |
$session->flush; |
1227 |
C4::Context->_unset_userenv($sessionID); |
1234 |
C4::Context->_unset_userenv($sessionID); |
1228 |
$userid = undef; |
1235 |
$userid = undef; |
1229 |
$sessionID = undef; |
1236 |
$sessionID = undef; |
Lines 1440-1445
sub check_cookie_auth {
Link Here
|
1440 |
if ( $lasttime < time() - $timeout ) { |
1447 |
if ( $lasttime < time() - $timeout ) { |
1441 |
# time out |
1448 |
# time out |
1442 |
$session->delete(); |
1449 |
$session->delete(); |
|
|
1450 |
$session->flush; |
1443 |
C4::Context->_unset_userenv($sessionID); |
1451 |
C4::Context->_unset_userenv($sessionID); |
1444 |
$userid = undef; |
1452 |
$userid = undef; |
1445 |
$sessionID = undef; |
1453 |
$sessionID = undef; |
Lines 1447-1452
sub check_cookie_auth {
Link Here
|
1447 |
} elsif ( $ip ne $ENV{'REMOTE_ADDR'} ) { |
1455 |
} elsif ( $ip ne $ENV{'REMOTE_ADDR'} ) { |
1448 |
# IP address changed |
1456 |
# IP address changed |
1449 |
$session->delete(); |
1457 |
$session->delete(); |
|
|
1458 |
$session->flush; |
1450 |
C4::Context->_unset_userenv($sessionID); |
1459 |
C4::Context->_unset_userenv($sessionID); |
1451 |
$userid = undef; |
1460 |
$userid = undef; |
1452 |
$sessionID = undef; |
1461 |
$sessionID = undef; |
Lines 1458-1463
sub check_cookie_auth {
Link Here
|
1458 |
return ("ok", $sessionID); |
1467 |
return ("ok", $sessionID); |
1459 |
} else { |
1468 |
} else { |
1460 |
$session->delete(); |
1469 |
$session->delete(); |
|
|
1470 |
$session->flush; |
1461 |
C4::Context->_unset_userenv($sessionID); |
1471 |
C4::Context->_unset_userenv($sessionID); |
1462 |
$userid = undef; |
1472 |
$userid = undef; |
1463 |
$sessionID = undef; |
1473 |
$sessionID = undef; |
1464 |
- |
|
|