CAS作为一个授权服务应用,分为服务器和客户端两个部分,与其相关联的东西也挺多的,我接触到的主要有JDK、Tomcat、SSL、LDAP、SSO、Weblogic。
要成功地使CAS成为其他各种应用的用户的统一认证中心,就要正确的配置好CAS的服务端和客户端,在每一个需要认证的应用里面都要分别配置客户端,与其相关的东西当然也要配置好。
注意:
1.使用actually computer name而非localhost或ip;
2.实现单点登录(SSO)必须使用SSL,https协议;在自己的开发环境里面,可以通过“self-certify”方式来完成SSL事务;生产环境要对外网认证,则必须购买第三方的证书,比如Verisign等。
3.明确tomcat使用的JRE的位置,设置好环境变量JAVA_HOME;
4.认证机制,客户端发出登录请求,统一跳到CAS服务端认证,通过认证的用户的id(用户名或email)会被服务端暴露出来,返回给客户端;接下来通过认证的用户有哪些权限访问客户端应用的那些资源?记住CAS服务端不会(也不应该)管这些事。CAS服务端只是让这个用户进门(或拒之门外)。授权是通过客户端应用来实现的。客户端应用甚至(也应该)获取不到用户登录时的密码。客户端应用需要根据唯一的用户名赋予该用户角色和权限(授权)。
5. CAS是opensource ,可以根据需要修改任何地方,最常改的就是登录和登出界面。
实际上这个开源软件有专门的网站介绍CAS及其相关的配置。http://www.jasig.org/cas