360 likes | 689 Views
基于 PDS 的统一认证实现. 北京师范大学图书馆 郭建峰. 内容提纲. PDS 介绍 PDS 系统设置 Aleph 500 认证 MetaLib 认证 Primo 认证 Calis 联合认证. PDS 介绍. PDS 介绍. PDS: Patron directory Service( 用户目录服务) 是 Exlibris 公司的一个共享 (shared) 、独立 ( independed ) 、后端( back-end) 的 Web 应用。 能够实现用户认证与登录到 Exlibris 的相关产品。 Aleph ( 图书馆自动化集成管理系统 )
E N D
基于PDS的统一认证实现 北京师范大学图书馆 郭建峰
内容提纲 • PDS介绍 • PDS系统设置 • Aleph 500认证 • MetaLib认证 • Primo认证 • Calis联合认证
PDS介绍 • PDS: Patron directory Service(用户目录服务) • 是Exlibris公司的一个共享(shared)、独立(independed)、后端(back-end)的Web应用。 • 能够实现用户认证与登录到Exlibris的相关产品。 • Aleph (图书馆自动化集成管理系统) • Metalib(学术资源门户系统) • Primo(资源发现与获取系统) • DigiTool(数字资产管理系统) • Rosetta(数字资产保存系统)等 • AlephAleph • 中
PDS功能 • PDS功能 • 读者认证和登录服务 • 获得用户信息 • 实现Exlibris产品单点登录或退出
PDS登入流程 • 用户通过SSO方式,登录Exlibris产品; • 检查用户是否已登录其他Exlibris产品,若已登录,返回用户已登录信息(第1步,第2步)。 • 若未登录,弹出登录窗口,用户输入信息,发送到PDS系统认证。 • PDS将用户信息发送到其他认证系统(如as CAS, iChain, or Shibboleth )等或Exlibris本地系统(如Aleph500中)认证。 • 认证成功后,PDS从认证系统取得用户信息,并影射、规范化成XML格式的信息返给系统。
PDS退出流程 • 用户己通过SSO方式,登录到Exlibris产品; • 用户若退出登录,首先通过应用系统向PDS发送退出命令; • PDS退出能将该用户从各个系统中退出,并使相关系统返回未登录界面。
PDS实例 • 下面以北京师范大学图书馆为PDS实例说明统一认证的配置方法及实现过程。 • 北京师范图书馆统一认证系统: • Aleph 500 V20 • Metalib V4.2 • Primo V4.4 • Calis联合认证 • PDS系统原安装Metalib系统上,现迁移到Aleph 500系统上
PDS安装 • 将Metalib的PDS目录打tar, 传到 Aleph 500系统上,解包。修改目录属主 aleph:exlibris. • 建立perl-5.8.9链接 • perldoc.589 -> /exlibris/product/perl-5.8.9/bin/perldoc* • perl.589 -> /exlibris/product/perl-5.8.9/bin/perl* • 修改check_url.pl 由 #!/exlibris/aleph/a20_1/product/bin/perl 修改为 #!/exlibris/aleph/a20_1/product/bin/perl.589
PDSDefinitions • 修改 ./program/PDSDefinitions 相关参数改为 opac URL地址或域名 our ($server_httpd) = "http://opac.lib.bnu.edu.cn:8080"; our ($server_httpsd) = "https://opac.lib.bnu.edu.cn:443"; our ($server_pds) = "http://opac.lib.bnu.edu.cn:8080/pds";
tab_service.bnu • 修改 ./conf_table/ tab_service.bnu • 用户认证 [AUTHENTICATE] program = aleph.pl params = opac.lib.bnu.edu.cn,8080,BOR_AUTH,BNU51,N,WWW-X,WWW-X program = metalib_x_server.pl params = search.lib.bnu.edu.cn,8332,BOR-AUTH • 用户信息 [BOR_INFO] program = aleph.pl params = opac.lib.bnu.edu.cn,8080,BOR_INFO,BNU51,N,WWW-X,WWW-X program = metalib_x_server.pl params = search.lib.bnu.edu.cn,8332,BOR-INFO
tab_service.bnu • 机构显示信息 [INSTITUTE_DISPLAY] code = BNU desc = 北京师范大学 lang = ENG primo=BNU metalib = BNU aleph = BNU51
单点登录文件 • 修改 ./conf_table/general_conf,sso_conf [ LOGON] TYPE1 = metalib,aleph,primo [END] [LOGOUT] TYPE1 = metalib,aleph,primo [END] [DEFAULT_INSTITUTE] METALIB = BNU ALEPH = BNU51 PRIMO = BNU [END]
单点登录文件 [LOGOFF_ID] params = WWW-X,WWW-X [END]
定制登录界面 • 各馆可根据自己情况定制登录界面 • 登录界面存在pds/html_form/下 • global/login 非exlibris产品登录界面 • calling_system-metalib/login metalib登录界面 • calling_system-aleph/login aleph500 登录界面 • 建立相关符号链接 • PDSMetalib.css • icon • PDSAleph.css • PDSMExlibris.css
登录模式 • Aleph 500 OPAC系统分登录两种模式 • 传统网页登录模式 • PDS登录模式 • Tab100 • 修改 /exlibris/aleph/u20_1/alephe/tab/tab100 • PDS-AWARE=Y • PDS-KEY-TYPE=00 • aleph_start • /exlibris/aleph/u20_1/alephe/tab/aleph_start • setenv PDS_HOST opac • setenv PDS_PORT 8080
Aleph500 PDS配置 • www_server.conf • /exlibris/aleph/u20_1/alephe/tab/www_server.conf • 设置server_pds setenvserver_pdshttp://opac.bnu.edu.cn:8080/pds • 设置pds_backlink setenvpdsbacklinkhttp://opac.lib.bnu.edu.cn:8080/&session
Aleph500 页面修改 • 目录: /exlibris/aleph/u20_1/alephe/www_f_chi • 文件 head-1-nobo 由…… <a href="&server_f?func=file&file_name=login-session“ class="white" title="输入用户名和密码"> 登录</a> 改为 <script> varurl_for_pds=location.search; document.write('<a href="&server_pds?func=load-login&calling_system=aleph&url=&pds_backlink'+url_for_pds+'" class="white" title="输入用户名和密码">登录</a>'); </script>
Aleph500 页面修改 • 文件 full-set-tail 由 请 <a href=&server_f?func=login-session-review style='text-decoration:underline;color:blue'>登录</a> 后 改为 请 <a href=&server_pds?func=load-login&calling_system=aleph&url=&pds_backlink"+url_for_pds+"style='text-decoration:underline;color:blue'>登录</a> ;
Aleph500 页面修改 • 文件 head-replace和head-1-bor 由 <a href="&server_f?func=file&file_name=logout" class="white" title="退出系统"> 退出</a> | 改为 <a href="&server_f?func=file&file_name=pds-logout" class="white" title="退出系统"> 退出</a> |
Metalib认证配置 • 修改metalib_start setenv PDS_HOST opac.lib.bnu.edu.cn setenv PDS_HOST_IN opac.lib.bnu.edu.cn setenv PDS_PORT 8080 setenv PDS_PORT_IN 8080 • 修改www_server.conf setenvserver_pds"http://${PDS_HOST}:${PDS_PORT}/pds" setenvserver_pds_in“http://${PDS_HOST_IN}:${PDS_PORT_IN}/pds"
Primo认证配置 • Primo 认证配置 • 进入Primo后台管理 • 一般配置(General Configuration) • PDS_URL • PDS_INTERNAL_URL • PDS_Configuration_URL • PDS_SSO_ENALBE
CALIS联合认证 • CALIS联合认证由认证提供者IDP和和服务证提供者SP组成。 • 优势: • 图书馆自身不需要向CALIS提供读者数据,便于维护 • 能够实现不同系统的单点登录 • 该程序得到由武汉大学图书馆提供,并做了一些修改 • 中
CALIS联合认证 • 文件 • bor_auth.asp 本地读者认证接口 • bor_info.asp 本地读者信息接口 • bor_info_inc.asp: 包含文件 • userinfo_pds2idp.xsl PDS信息格式转换成CALIS格式 • 实施方法 • 安装IIS和XML Parser • 建立CALIS_IDP, 拷贝以上文件 • CALIS统一认证系统中 读者认证url : http://your_server/calis_idp/bor_auth.asp 读者信息url: http://your_server/calis_idp/bor_info.asp • 中
userinfo_pds2idp.xsl • PDS用户信息格式转换成CALIS统一认证格式 • 用户类型类型转换 • 1.本科生 2 研究生 3 博士生 4 教师 • 日期格式转换 • yyyy-mm-dd