Tomcat WebVoyáge
External Authentication Changes
External authentication works with the new Tomcat version of WebVoyáge. However because of changes to the underlying architecture, legacy external authentication adaptors cannot be used without some (mostly minor) modifications.
Authentication adaptors tend to be locally written programs so each one will be a little bit different. Identifying the specifics of the modifications needed will depend on testing in the new environment.
New redirect URL
Tomcat WebVoyáge doesn't use Pwebrecon.cgi, so obviously your external authentication script will have to redirect somewhere else after authentication.
The redirect URL syntax for classic WebVoyáge was/is:
http://voyager.at-ur-univ.edu/cgi-bin/Pwebrecon.cgi?{$query_string&authenticate=[Y|N]}
The redirect URL syntax for Tomcat WebVoyáge is:
http://voyager.at-ur-univ.edu/vwebv/externalLogin.do?{$query_string&authenticate=[Y|N]}
Apache setup
Also, be aware that your Tomcat Apache instance may not come configured to run CGI programs. So if your external authentication depends on a CGI script, you will want to look into Apache configuration for CGI.
My understanding is that with Voyager 7.0, Ex Libris will be including an SSL-enabled Apache in their third-party software distribution (/m1/shared/apache2).
No bypass (yet)
Version 7.0.1 of Voyager does not appear to allow for bypassing the default WebVoyáge login screen. This is slated for a fix in version 7.0.2(?).
No bypass fix
Courtesy of Jim Robinson, Tarrant County College
[This is] my JavaScript workaround based on the referrer. -- Jim
function doRedirect(URL)
{
var refer = document.referrer;
if(refer.indexOf("http://library.tccd.edu",0) != -1) {
window.location=URL;
}
}
This JavaScript is called from {skin}/xsl/contentLayout/cl_login.xsl with
these little bits of xml:
<xsl:template name="buildLoginPage">
<xsl:for-each select="/page:page/page:pageBody">
<div id="extPatAuth">
<xsl:call-template name="buildRedirectLinkType">
<xsl:with-param name="eleName" select="'page.logIn.actions.extAuth.link'"/>
</xsl:call-template>
</div>
...more...
</xsl:for-each>
</xsl:template>
<xsl:template name="buildRedirectLinkType">
<xsl:param name="eleName"/>
<xsl:for-each select="/page:page//page:element[@nameId=$eleName]">
<xsl:if test="string-length(page:URL)">
<script type="JavaScript">doRedirect('<xsl:value-of select="page:URL"/>');</script>
</xsl:if>
</xsl:for-each>
</xsl:template>