Lines 635-647
sub checkauth {
Link Here
|
635 |
if ( $userid = $ENV{'REMOTE_USER'} ) { |
635 |
if ( $userid = $ENV{'REMOTE_USER'} ) { |
636 |
# Using Basic Authentication, no cookies required |
636 |
# Using Basic Authentication, no cookies required |
637 |
$cookie = $query->cookie( |
637 |
$cookie = $query->cookie( |
638 |
-name => 'CGISESSID', |
638 |
-name => 'CGISESSID', |
639 |
-value => '', |
639 |
-value => '', |
640 |
-expires => '' |
640 |
-expires => '', |
|
|
641 |
-HttpOnly => 1, |
641 |
); |
642 |
); |
642 |
$loggedin = 1; |
643 |
$loggedin = 1; |
643 |
} |
644 |
} |
644 |
elsif ( $sessionID = $query->cookie("CGISESSID")) { # assignment, not comparison |
645 |
elsif ( $sessionID = $query->cookie("CGISESSID") ) |
|
|
646 |
{ # assignment, not comparison |
645 |
my $session = get_session($sessionID); |
647 |
my $session = get_session($sessionID); |
646 |
C4::Context->_new_userenv($sessionID); |
648 |
C4::Context->_new_userenv($sessionID); |
647 |
my ($ip, $lasttime, $sessiontype); |
649 |
my ($ip, $lasttime, $sessiontype); |
Lines 707-714
sub checkauth {
Link Here
|
707 |
$userid = undef; |
709 |
$userid = undef; |
708 |
} |
710 |
} |
709 |
else { |
711 |
else { |
710 |
$cookie = $query->cookie( CGISESSID => $session->id ); |
712 |
$cookie = $query->cookie( |
711 |
$session->param('lasttime',time()); |
713 |
-name => 'CGISESSID', |
|
|
714 |
-value => $session->id, |
715 |
-HttpOnly => 1 |
716 |
); |
717 |
$session->param( 'lasttime', time() ); |
712 |
unless ( $sessiontype && $sessiontype eq 'anon' ) { #if this is an anonymous session, we want to update the session, but not behave as if they are logged in... |
718 |
unless ( $sessiontype && $sessiontype eq 'anon' ) { #if this is an anonymous session, we want to update the session, but not behave as if they are logged in... |
713 |
$flags = haspermission($userid, $flagsrequired); |
719 |
$flags = haspermission($userid, $flagsrequired); |
714 |
if ($flags) { |
720 |
if ($flags) { |
Lines 724-731
sub checkauth {
Link Here
|
724 |
my $session = get_session("") or die "Auth ERROR: Cannot get_session()"; |
730 |
my $session = get_session("") or die "Auth ERROR: Cannot get_session()"; |
725 |
my $sessionID = $session->id; |
731 |
my $sessionID = $session->id; |
726 |
C4::Context->_new_userenv($sessionID); |
732 |
C4::Context->_new_userenv($sessionID); |
727 |
$cookie = $query->cookie( CGISESSID => $sessionID ); |
733 |
$cookie = $query->cookie( |
728 |
$userid = $query->param('userid'); |
734 |
-name => 'CGISESSID', |
|
|
735 |
-value => $session->id, |
736 |
-HttpOnly => 1 |
737 |
); |
738 |
$userid = $query->param('userid'); |
729 |
if ( ( $cas && $query->param('ticket') ) |
739 |
if ( ( $cas && $query->param('ticket') ) |
730 |
|| $userid |
740 |
|| $userid |
731 |
|| ( my $pki_field = C4::Context->preference('AllowPKIAuth') ) ne |
741 |
|| ( my $pki_field = C4::Context->preference('AllowPKIAuth') ) ne |
Lines 916-922
sub checkauth {
Link Here
|
916 |
{ |
926 |
{ |
917 |
# successful login |
927 |
# successful login |
918 |
unless ($cookie) { |
928 |
unless ($cookie) { |
919 |
$cookie = $query->cookie( CGISESSID => '' ); |
929 |
$cookie = $query->cookie( |
|
|
930 |
-name => 'CGISESSID', |
931 |
-value => '', |
932 |
-HttpOnly => 1 |
933 |
); |
920 |
} |
934 |
} |
921 |
return ( $userid, $cookie, $sessionID, $flags ); |
935 |
return ( $userid, $cookie, $sessionID, $flags ); |
922 |
} |
936 |
} |
923 |
- |
|
|