提要本文介紹了使用遠程訪問係統EZproxy與現有圖書館集成管理係統連接實現用戶統一認證的過程,旨在為使用相似係統環境的用戶提供一些經驗參考。
關鍵詞:EZproxy;圖書館集成管理係統;用戶統一認證
中圖分類號:F49文獻標識碼:A
EZproxy是一個專門為校外訪問數字資源而設計的遠程訪問代理軟件係統,具有靈活多樣的用戶認證機製,容易實現用戶身份統一認證,並可以針對用戶或數字資源進行有效的訪問下載控製,是目前校外訪問數字資源較理想的解決方案。
一、EZproxy概述
EZproxy是一個目前被國外圖書館廣泛使用的實現校外訪問代理的軟件。其與普通代理服務器軟件的主要區別在於它是采用基於“URL重寫”技術,用戶無需修改瀏覽器的設置就能實現代理訪問資源的功能。例如,EZproxy服務器的地址為:http://proxy.lib.com,我們要訪問的地址為:http://www.data.com/index.htm,EZproxy將其映射為:http://www.data.com.proxy.lib.com/index.htm,經過映射之後,對目標網站的訪問就由EZproxy服務器進行中轉。這種方式對用戶來說是透明的,隻需通過輸入口令通過EZprxoy的驗證即可訪問目標網址。EZprxoy的用戶認證支持文本文件、E-mail服務器等多種用戶數據源,同時還可以編寫外部程序實現與其他數據庫的集成,例如圖書館自動化係統、學生證號管理係統等等。要使用 EZproxy訪問某個數據庫資源,必須事先進行配置,隻有配置到其“Menu”中的網址才會由EZprxoy進行代理訪問。EZproxy還提供了強大的日誌功能,對訪問者信息和資源訪問量進行記錄。
二、用戶身份統一認證
EZproxy靈活地提供了多種用戶認證方式與外部數據庫連接,這樣用戶遠程訪問時便可使用現有身份認證係統中的信息,不需要重新增加用戶信息和密碼。將EZproxy用戶認證與圖書館現有集成管理係統中的用戶管理模塊結合起來大大節約了管理成本,方便了用戶使用,提高了圖書館自動化管理水平。國外常見的認證方式有:連接如LDAP、Athens、Shibboleth等身份認證係統或基於SIP的Voyager係統等,國內目前也已有湖南師範大學、浙江科技學院、浙江師範大學等對其進行研究,已實現與ILASII係統等進行統一認證,但基於SQL server數據庫的圖書館集成管理係統與其進行連接目前未見諸文獻。本文主要描述基於SQL server的金盤圖書館集成管理係統與EZproxy實現用戶統一認證的方法。
三、功能實現
實現用戶認證的第一步便是與SQLserver數據庫進行連接。根據官方配置說明,我們先建立ODBC係統DSN數據源。然後,在外部認證腳本的sql語句中設置數據庫名為上麵所建的係統DSN名稱,設置具有使用數據庫權限的用戶名和密碼。在查詢語句中設置要查詢的項目,即用戶表中的用戶名稱與密碼,如果為合法用戶便向EZproxy返回有效標識。最後,在EZproxy用戶配置文件usr.txt中包含外部腳本,如添加如下行:
::external=http://auth.youlib.org/cgi-bin/check.cgi,post=user=^u &pass=^p,valid=+OK
其中,auth.youlib.org為認證服務器的地址,check.cgi為外部認證腳本文件,post表示用html的post方法將用戶名和密碼提交外部腳本進行認證,^u自動替換登陸表單上的用戶名,^p自動替換密碼。使用post方法的好處是避免web服務器記錄用戶信息。valid中指定的值“+OK”為用戶認證成功後返回的有效標識,認證腳本隻要向Ezproxy係統返回valid參數所指定的有效標識,則Ezproxy係統認為認證成功。