|
Lines 1048-1057
sub checkauth {
Link Here
|
| 1048 |
} |
1048 |
} |
| 1049 |
} |
1049 |
} |
| 1050 |
|
1050 |
|
| 1051 |
# $return: 1 = valid user, 2 = superlibrarian |
1051 |
# $return: 1 = valid user |
| 1052 |
if ($return) { |
1052 |
if ($return) { |
| 1053 |
# If DB user is logged in |
|
|
| 1054 |
$userid ||= $q_userid if $return == 2; |
| 1055 |
|
1053 |
|
| 1056 |
#_session_log(sprintf "%20s from %16s logged in at %30s.\n", $userid,$ENV{'REMOTE_ADDR'},(strftime '%c', localtime)); |
1054 |
#_session_log(sprintf "%20s from %16s logged in at %30s.\n", $userid,$ENV{'REMOTE_ADDR'},(strftime '%c', localtime)); |
| 1057 |
if ( $flags = haspermission( $userid, $flagsrequired ) ) { |
1055 |
if ( $flags = haspermission( $userid, $flagsrequired ) ) { |
|
Lines 1151-1172
sub checkauth {
Link Here
|
| 1151 |
$session->param( 'shibboleth', $shibSuccess ); |
1149 |
$session->param( 'shibboleth', $shibSuccess ); |
| 1152 |
$debug and printf STDERR "AUTH_4: (%s)\t%s %s - %s\n", map { $session->param($_) } qw(cardnumber firstname surname branch); |
1150 |
$debug and printf STDERR "AUTH_4: (%s)\t%s %s - %s\n", map { $session->param($_) } qw(cardnumber firstname surname branch); |
| 1153 |
} |
1151 |
} |
| 1154 |
elsif ( $return == 2 ) { |
|
|
| 1155 |
|
| 1156 |
#We suppose the user is the superlibrarian |
| 1157 |
$borrowernumber = 0; |
| 1158 |
$session->param( 'number', 0 ); |
| 1159 |
$session->param( 'id', C4::Context->config('user') ); |
| 1160 |
$session->param( 'cardnumber', C4::Context->config('user') ); |
| 1161 |
$session->param( 'firstname', C4::Context->config('user') ); |
| 1162 |
$session->param( 'surname', C4::Context->config('user') ); |
| 1163 |
$session->param( 'branch', 'NO_LIBRARY_SET' ); |
| 1164 |
$session->param( 'branchname', 'NO_LIBRARY_SET' ); |
| 1165 |
$session->param( 'flags', 1 ); |
| 1166 |
$session->param( 'emailaddress', C4::Context->preference('KohaAdminEmailAddress') ); |
| 1167 |
$session->param( 'ip', $session->remote_addr() ); |
| 1168 |
$session->param( 'lasttime', time() ); |
| 1169 |
} |
| 1170 |
$session->param('cas_ticket', $cas_ticket) if $cas_ticket; |
1152 |
$session->param('cas_ticket', $cas_ticket) if $cas_ticket; |
| 1171 |
C4::Context->set_userenv( |
1153 |
C4::Context->set_userenv( |
| 1172 |
$session->param('number'), $session->param('id'), |
1154 |
$session->param('number'), $session->param('id'), |
|
Lines 1598-1617
sub check_api_auth {
Link Here
|
| 1598 |
$session->param( 'emailaddress', $emailaddress ); |
1580 |
$session->param( 'emailaddress', $emailaddress ); |
| 1599 |
$session->param( 'ip', $session->remote_addr() ); |
1581 |
$session->param( 'ip', $session->remote_addr() ); |
| 1600 |
$session->param( 'lasttime', time() ); |
1582 |
$session->param( 'lasttime', time() ); |
| 1601 |
} elsif ( $return == 2 ) { |
|
|
| 1602 |
|
| 1603 |
#We suppose the user is the superlibrarian |
| 1604 |
$session->param( 'number', 0 ); |
| 1605 |
$session->param( 'id', C4::Context->config('user') ); |
| 1606 |
$session->param( 'cardnumber', C4::Context->config('user') ); |
| 1607 |
$session->param( 'firstname', C4::Context->config('user') ); |
| 1608 |
$session->param( 'surname', C4::Context->config('user') ); |
| 1609 |
$session->param( 'branch', 'NO_LIBRARY_SET' ); |
| 1610 |
$session->param( 'branchname', 'NO_LIBRARY_SET' ); |
| 1611 |
$session->param( 'flags', 1 ); |
| 1612 |
$session->param( 'emailaddress', C4::Context->preference('KohaAdminEmailAddress') ); |
| 1613 |
$session->param( 'ip', $session->remote_addr() ); |
| 1614 |
$session->param( 'lasttime', time() ); |
| 1615 |
} |
1583 |
} |
| 1616 |
$session->param( 'cas_ticket', $cas_ticket); |
1584 |
$session->param( 'cas_ticket', $cas_ticket); |
| 1617 |
C4::Context->set_userenv( |
1585 |
C4::Context->set_userenv( |
|
Lines 1805-1811
sub checkpw {
Link Here
|
| 1805 |
# 1 if auth is ok |
1773 |
# 1 if auth is ok |
| 1806 |
# 0 if auth is nok |
1774 |
# 0 if auth is nok |
| 1807 |
# -1 if user bind failed (LDAP only) |
1775 |
# -1 if user bind failed (LDAP only) |
| 1808 |
# 2 if DB user is used (internal only) |
|
|
| 1809 |
|
1776 |
|
| 1810 |
if ( $patron and $patron->account_locked ) { |
1777 |
if ( $patron and $patron->account_locked ) { |
| 1811 |
# Nothing to check, account is locked |
1778 |
# Nothing to check, account is locked |
|
Lines 1878-1895
sub checkpw_internal {
Link Here
|
| 1878 |
$password = Encode::encode( 'UTF-8', $password ) |
1845 |
$password = Encode::encode( 'UTF-8', $password ) |
| 1879 |
if Encode::is_utf8($password); |
1846 |
if Encode::is_utf8($password); |
| 1880 |
|
1847 |
|
| 1881 |
if ( $userid && $userid eq C4::Context->config('user') ) { |
|
|
| 1882 |
if ( $password && $password eq C4::Context->config('pass') ) { |
| 1883 |
|
| 1884 |
# Koha superuser account |
| 1885 |
# C4::Context->set_userenv(0,0,C4::Context->config('user'),C4::Context->config('user'),C4::Context->config('user'),"",1); |
| 1886 |
return 2; |
| 1887 |
} |
| 1888 |
else { |
| 1889 |
return 0; |
| 1890 |
} |
| 1891 |
} |
| 1892 |
|
| 1893 |
my $sth = |
1848 |
my $sth = |
| 1894 |
$dbh->prepare( |
1849 |
$dbh->prepare( |
| 1895 |
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where userid=?" |
1850 |
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where userid=?" |