文档中心 > API文档

3.30.3.3.1. 搭建CAS身份认证服务

搭建CAS身份认证服务分为三步:

  1. 安全证书配置,Ja-Sig CAS为了安全要求只能使用HTTPS通信,所以需要进行安全证书配置

  2. 部署CAS到中间件容器,这里以Tomcat为例

  3. 修改必要配置

3.30.3.3.1.1. 安全证书配置

前提:已经在服务器上成功安装JDK。

生成证书:

keytool -genkey -alias 证书别名 -keyalg RSA -keysize 1024 -keypass 证书密码 -validity 证书有效期 -keystore 证书生成后存放位置 -storepass 证书密码
 keytool -genkey -alias oasso -keyalg RSA -keysize 1024 -keypass seeyonoa -validity 365 -keystore k:\sso\oasso.keystore -storepass seeyonoa
 
导出证书:
keytool -export -alias 证书别名 -keystore 证书生成后存放位置 -file 证书导出后存放位置 -storepass 证书密码
 keytool -export -alias oasso -keystore k:\sso\oasso.keystore -file k:\sso\oasso.crt -storepass seeyonoa
 
导入证书:
keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file K:\sso\oasso.crt -alias oasso
 keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file K:\sso\oasso.crt -alias oasso
 
3.30.3.3.1.2. 部署CAS-Server到Tomcat

CAS-Server同时支持Windows和Linux系统,这个集成案例环境情况如下:

1、系统环境:Win7 64位
 2、中间件:Tomcat 6.0
 3、CAS版本:3.5.2.1
 4、集成方式:JDBC认证,使用致远OA数据库的用户数据
3.30.3.3.1.3. 准备工作
  1. 下载CAS服务器。

  2. 配置Tomcat的HTTPS。

下载CAS-Server,地址:http://m1.seeyon.com/cmp/download.jsp,该CAS已经默认配置了支持OA用户数据库的用户名+密码认证。
配置Tomcat安全链接;打开tomcat目录下的conf/server.xml文件,找到如图:
 
 这里会使用到我们之前生成的证书,将上图中的内容修改如下图:
 
 其中keystoreFile和keystorePass就是之前在安全证书配置中生成的keystore文件以及设置的密码。
 验证HTTPS配置是否成功:
 
 点击继续浏览此网站。
 
 看见上图,则表示HTTPS已经配置成功。
 注意:地址栏中的m1.ssodemo.com域名是通过修改Windows主机文件实现的,如图:
 
 至此,Tomcat的HTTPS配置完成。
 
3.30.3.3.1.4. 部署CAS Server

将下载的cas.war文件复制到Tomcat的webapps目录中,如图:

启动Tomcat,在浏览器地址栏中输入:https://m1.ssodemo.com:8443/cas/login,回车如图:


 至此,CAS服务器基础配置完成,这里特别说明一下为什么需要通过HTTPS访问,因为CAS要求认证必须走HTTPS,如果使用HTTP,则会出现如下提示,如图:
 

至此,CAS服务器已经成功的部署到Tomcat,接下来还需要配置JDBC认证方式,这里我们将以OA用户数据为例,所以会涉及到OA部分的东西。

3.30.3.3.1.5. 关键配置介绍
  1. CAS的restlet支持,打开文件webapps\cas\WEB-INF\web.xml,包含如下配置:

      <servlet>
         <servlet-name>restlet</servlet-name>
         <servlet-class>com.noelios.restlet.ext.spring.RestletFrameworkServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
       </servlet>
      
       <servlet-mapping>
         <servlet-name>restlet</servlet-name>
         <url-pattern>/v1/*</url-pattern>
       </servlet-mapping>
    该配置是打开CAS的rest接口,用于后端代码调用,详细的调用可参考文档:https://wiki.jasig.org/display/CASUM/RESTful+API。
  2. ticket的过期策略,打开文件webapps\cas\WEB-INF\spring-configuration\ticketExpirationPolicies.xml文件,将c:timeToKill="${st.timeToKillInSeconds:10}修改为c:timeToKill="${st.timeToKillInSeconds:1000},否则ticket很容易,配置如下:

    <bean id="serviceTicketExpirationPolicy" class="org.jasig.cas.ticket.support.MultiTimeUseOrTimeoutExpirationPolicy"
               c:numberOfUses="1" c:timeToKill="${st.timeToKillInSeconds:1000}" c:timeUnit-ref="SECONDS"/>
    该配置可以根据具体的使用情况进行修改。
  3. JDBC认证处理配置,针对OA的配置如下:

    
     数据源及密码编码器的配置如下:
     
     至此,CAS服务器的关键配置已经介绍完成,接下来将介绍OA的配置方式以及M1如何完成单点登录认证。