SSO配置及应用说明.doc
文本预览下载声明
SSO配置和应用说明
博科单点登录(SSO-Single Sign On)的解决方案拟采用下述两种方案之一:
CAS + LDAP
CAS + MySQL(或其他数据库)
CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法CAS 具有以下特点:
开源的企业级单点登录解决方案。
CAS Server 为需要独立部署的 Web 应用。
CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。Java jdk 1.6.0_10-rc2 2 Tomcat 5.5.27 3 CAS server 3.3 /cas 4 CAS client 2.0.11 casclient.jar 5 安装JDK后,需配置如下环境变量(变量名=变量值):
JAVA_HOME=C:\Java\jdk1.6.0_10
JAVA_OPS=-Xms512M -Xmx1024m -XX:MaxNewSize=128m -XX:PermSize=64M -XX:MaxPermSize=128m
部署CAS Server
CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与 servlet2.3 兼容的 Web 服务器上,另外,由于 Client 与 CAS Server 之间的交互采用 Https 协议,因此部署 CAS Server 的服务器还需要支持 SSL 协议。需要扩展验证用户的接口配置 Tomcat 使用 Https 协议
如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议,其配置过程和配置方法可以参考 Tomcat 的相关文档。不过在生成证书的过程中,会有需要用到主机名的地方,CAS 建议不要使用 IP 地址,而要使用机器名或域名。%CATALINA_HOME%/conf/server.xml,启用SSL协议:
!-- Define a SSL HTTP/1.1 Connector on port 8443 -- Connector port=8443 maxHttpHeaderSize=8192 keystorePass=changeit keystoreFile=conf/.keystore truststoreFile=C:/Java/jdk1.6.0_10/jre/lib/security/cacerts maxThreads=150 minSpareThreads=25 maxSpareThreads=75 enableLookups=false disableUploadTimeout=true acceptCount=100 scheme=https secure=true clientAuth=false sslProtocol=TLS / 其中 keystorePass, keystoreFile, truststoreFile 三个参数与数字证书有关。
2.2 部署 CAS Server
CAS Server 是一个 Web 应用包,将前面下载的 cas-server-3.3-release.zip 解开,把其中的 cas-server-webapp-3..war 拷贝到 tomcat的 webapps 目录,并更名为 cas.war。由于前面已配置好 tomcat 的 https 协议,可以重新启动 tomcat,然后访问:https://localhost:8443/cas ,如果能出现正常的 CAS 登录页面,则说明 CAS Server 已经部署成功。
虽然 CAS Server 已经部署成功,但这只是一个缺省的实现,在实际使用的时候,还需要根据实际概况做扩展和定制,最主要的是扩展认证 (Authentication) 接口和 CAS Server 的界面。
JDBC 认证用户的认证信息保存在数据库中。将cas-server-3.-release.zip 包解开后,在 modules 目录下可以找到包 cas-server-support-jdbc-3..jar,其提供了通过 JDBC 连接数据库进行验证的缺省实现,基于该包的支持,只需要做一些配置工作即可实现 JDBC 认证。
DataStore %CATALINA_HOME%/webapps/ca
显示全部