|
Line 19
Link Here
|
|
|
19 |
# |
| 20 |
# Shibboleth support added by Tom Francart (2012) - only tested at KU Leuven |
|
Line 32
Link Here
|
|
|
34 |
use C4::Members qw(AddMember); # [Tom] Shibboleth: add user |
| 35 |
use C4::Members::Attributes; |
| 36 |
use C4::Members::AttributeTypes; |
| 37 |
|
|
Lines 636-645
Link Here
|
| 636 |
if ( $userid = $ENV{'REMOTE_USER'} ) { |
642 |
# [Tom] Removed: incompatible with Shib |
| 637 |
# Using Basic Authentication, no cookies required |
643 |
# if ( $userid = $ENV{'REMOTE_USER'} ) { |
| 638 |
$cookie = $query->cookie( |
644 |
# # Using Basic Authentication, no cookies required |
| 639 |
-name => 'CGISESSID', |
645 |
# $cookie = $query->cookie( |
| 640 |
-value => '', |
646 |
# -name => 'CGISESSID', |
| 641 |
-expires => '' |
647 |
# -value => '', |
| 642 |
); |
648 |
# -expires => '' |
| 643 |
$loggedin = 1; |
649 |
# ); |
| 644 |
} |
650 |
# $loggedin = 1; |
| 645 |
elsif ( $sessionID = $query->cookie("CGISESSID")) { # assignment, not comparison |
651 |
# } |
| 646 |
-- |
652 |
if ( $sessionID = $query->cookie("CGISESSID")) { # assignment, not comparison |
|
Line 730
Link Here
|
|
|
737 |
|
| 738 |
unless ($userid) { |
| 739 |
$userid = $ENV{'HTTP_SHIB_PERSON_UID'}; |
| 740 |
} |
| 741 |
|
|
Line 1441
Link Here
|
|
|
1453 |
|
| 1454 |
|
|
Line 1491
Link Here
|
|
|
1505 |
|
| 1506 |
|
| 1507 |
# [Tom] Try shibboleth |
| 1508 |
|
| 1509 |
# check if shib login ok: |
| 1510 |
if ($ENV{'HTTP_SHIB_PERSON_UID'} =~ /^\w\d+$/ ) { |
| 1511 |
|
| 1512 |
# print "\n\nkonijn2\n"; |
| 1513 |
|
| 1514 |
|
| 1515 |
my %borrower; |
| 1516 |
$borrower{cardnumber} = $ENV{'HTTP_SHIB_PERSON_UID'}; |
| 1517 |
$borrower{userid} = $ENV{'HTTP_SHIB_PERSON_UID'}; |
| 1518 |
$borrower{firstname} = $ENV{'HTTP_SHIB_PERSON_GIVENNAME'}; # MANDATORY FIELD |
| 1519 |
$borrower{surname} = $ENV{'HTTP_SHIB_PERSON_SURNAME'}; # MANDATORY FIELD |
| 1520 |
$borrower{initials} = substr($borrower{firstname},0,1).substr($borrower{surname},0,1)." "; # MANDATORY FIELD |
| 1521 |
$borrower{streetaddress} = ''; # MANDATORY FIELD |
| 1522 |
$borrower{city} = " "; # MANDATORY FIELD |
| 1523 |
$borrower{phone} = " "; # MANDATORY FIELD |
| 1524 |
$borrower{branchcode} = 'AUD'; # MANDATORY FIELD |
| 1525 |
$borrower{email} = $ENV{'HTTP_SHIB_PERSON_MAIL'}; |
| 1526 |
$borrower{dateexpiry} = '2050-01-01'; |
| 1527 |
|
| 1528 |
|
| 1529 |
my $catnr=$ENV{'HTTP_SHIB_KUL_OUNUMBER'}; |
| 1530 |
if ($catnr =~ /50000672/) { # EXP ORL AUD |
| 1531 |
$borrower{categorycode} = 'EXPORL'; |
| 1532 |
$borrower{flags} = 2; |
| 1533 |
} else { |
| 1534 |
$borrower{categorycode} = 'STUDENT'; |
| 1535 |
} |
| 1536 |
|
| 1537 |
$userid=$borrower{userid}; |
| 1538 |
|
| 1539 |
# check if borrower exists |
| 1540 |
my $sth=$dbh->prepare("select password from borrowers where cardnumber=?"); |
| 1541 |
$sth->execute($userid); |
| 1542 |
if ($sth->rows) { |
| 1543 |
# it exists, MODIFY |
| 1544 |
# warn "MODIF borrower"; |
| 1545 |
my $sth2 = $dbh->prepare("update borrowers set firstname=?,surname=?,initials=?,categorycode=?,branchcode=?,email=? where cardnumber=?"); |
| 1546 |
$sth2->execute($borrower{firstname},$borrower{surname},$borrower{initials}, |
| 1547 |
$borrower{categorycode},$borrower{branchcode},$borrower{email}, |
| 1548 |
,$userid); |
| 1549 |
} else { |
| 1550 |
# it does not exists, ADD borrower |
| 1551 |
print "ADD borrower"; |
| 1552 |
my $borrowerid = AddMember(%borrower); |
| 1553 |
|
| 1554 |
# C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes); |
| 1555 |
} |
| 1556 |
# |
| 1557 |
# CREATE or MODIFY PASSWORD/LOGIN |
| 1558 |
# |
| 1559 |
# search borrowerid |
| 1560 |
# $sth = $dbh->prepare("select borrowernumber from borrowers where cardnumber=?"); |
| 1561 |
# $sth->execute($userid); |
| 1562 |
# my ($borrowerid)=$sth->fetchrow; |
| 1563 |
# warn "change password for $borrowerid setting $password"; |
| 1564 |
# my $digest=md5_base64($password); |
| 1565 |
# changepassword($userid,$borrowerid,$digest); |
| 1566 |
return 1, $userid, $userid; |
| 1567 |
|
| 1568 |
} |
| 1569 |
####### End Shibboleth ######### |
| 1570 |
|
| 1571 |
|