博科单点登录(SSO-Single Sign On)的解决方案拟采用下述两种方案之一:
a) CAS + LDAP
CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法。CAS 具有以
CAS Server 为需要独立部署的 Web 应用。
CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net,
PHP, Perl, Apache, uPortal, Ruby 等。
安装 JDK 后,需配置如下环境变量(变量名=变量值):
JAVA_HOME=C:\Java\jdk1.6.0_10
JAVA_OPS=-Xms512M -Xmx1024m -XX:MaxNewSize=128m -XX:PermSize=64M -XX:MaxPermSize=128m
CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与
servlet2.3 兼容的 Web 服务器上,另外,由于 Client 与 CAS Server 之间的交互采用 Https 协议,因
此部署 CAS Server 的服务器还需要支持 SSL 协议。最后需要扩展验证用户的接口,如 DB或 LDAP,以满足
实际业务的需求。
2.1 配置 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"