EZproxy Authentication Adapter for PDS
Tags: pds
, ezproxy
, authentication
, basic
, nelli-tuning
Last Updated: Mar 01, 2011 14:07
- Description
An authentication adapter that enables EZproxy to authenticate users via PDS. Users gain access to EZproxy and all other systems using the same PDS by logging in only once.
- Author: Ere Maijala
- Additional author(s):
- Institution: None
- Year: 2009
- License: MPL 1.1 / GPL 2.0
- Short description: Use, modification and distribution of the code are permitted provided the copyright notice, list of conditions and disclaimer appear in all related material.
- Link to terms: MPL 1.1, GPL 2.0
- Skill required for using this code: basic
State
Stable
Programming language
Perl
Software requirements
Ex Libris products with PDS (tested with PDS 2.0)
Screen captures
None (it's supposed to be invisible)
Author(s) homepage
http://wiki.helsinki.fi/display/Nelli
Download
Using the following Ex Libris open interfaces
Not sure if PDS interface counts...
Changes
Version 0.7 - 1 Mar 2011
- Made the cross-domain error message configurable.
- Added a proper logging system with improved debug logging.
- Added a check for EZproxy self-redirection to handle it without revealing it to the user.
Version 0.6
- Logs logins to Apache error log
Version 0.5
- Initial public release
The Process (How it Works)
- EZproxy use is initiated (http://ezproxy/login?url=http://service)
- EZproxy reads ezproxy.usr and redirects to ezp_pds.cgi per a cgi rule
- ezp_pds.cgi redirects to pds for login relaying institute information to it
- Upon successful login pds redirects back to ezp_pds.cgi
- ezp_pds.cgi checks from pds that the login is valid and into correct institute
- ezp_pds.cgi calls EZproxy with predetermined credentials to log in
- ezp.pds.cgi relays the redirection page received from EZproxy to the client
Installation instructions
- Copy ezp_pds.cgi to m4_x/apache/htdocs/cgi-bin (create cgi-bin directory if it doesn't exist) and make them executable (chmod +x filename). Verify that cgi-bin is readable and executable by all (e.g. chmod 755 cgi-bin) and that no DOS/Windows line endings were introduced to the file.
- Check perl path on the first line of ezp_pds.cgi if your MetaLib installation isn't in m4_3.
- Modify the settings in the beginning of the script. The comments should explain the required settings. Create a common username/password to be used when ezp_pds.cgi authenticates to the proxy and enter it into the settings of both ezp_pds.cgi and EZproxy (the following step). ezp_pds.cgi supports multiple institutions. If you only have one, you can use DEFAULT or whatever you prefer. The important thing is to have the same on both ends.
- Add the following line (with the forementioned username and password) to ezproxy.usr (part of the EZproxy installation):
Replace test with the username, xyz with the password, address with the real one and institute with the same as in ezp_pds.cgi.
- Modify texts inside ezp_pds.cgi according to your liking.
TO DO list
- Separate settings and texts from the code
Known issues
-
Comments

