单点登录服务端配置

本文中的例子以 tomcat6.0 为例进行讲解,下载地址:

http://tomcat.apache.org/download-60.cgi

到 CAS 官方网站下载 CAS Server 和 Client

CAS Server使用的3.5.2.1

CAS Client使用的3.2.1

地址分别为:

http://www.ja-sig.org/downloads/cas/cas-server-3.5.2.1-release.zip

http://www.ja-sig.org/downloads/cas-clients/cas-client-3.2.1-release.zip

CAS Server 是一个 Web 应用包,将前面下载的 cas-server-3.5.2.1-release.zip 解开

 

把其中的 cas-server-webapp-3.5.2.1.war 拷贝到 tomcat的 webapps 目录,并更名为 cas.war。启动 tomcat,然后访问:http://localhost:8088/cas/login ,如果能出现正常的 CAS 登录页面,则说明 CAS Server 已经部署成功。

 

登陆认证方式为:用户和密码相同就可以登陆 比如cas/cas

CAS服务架子基本就搭建起来了。下一步应用到工作当中

 

 

一:配置CAS datasource数据源

   下面将如何配置oracle数据源,其他数据库也都差不多

添加JDBC支持的jarwebapps\cas\WEB-INF\lib 

1.添加casserver支持的jar

cas-server-support-jdbc-3.5.2.1.jar

commons-dbcp-1.2.1.jar

commons-pool-1.3.jar

2.添加ORACLE驱动jar

ojdbc14.jar

3.添加MD5加密包(后面会讲到)

myMD5.jar

二:用户认证以及数据库连接配置

webapps\cas\WEB-INF\deployerConfigContext.xml

数据库连接配置

<!--[if !supportLists]-->1.<!--[endif]-->增加数据库连接配置(紧跟在beans标签下就可以)

<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">

 <property name="driverClassName">

  <value>oracle.jdbc.driver.OracleDriver</value>

 </property>

 <property name="url">

  <value>jdbc:oracle:thin:@128.21.3.9:1521/orcl</value>

 </property>

 <property name="username">

  <value>gdgs</value>

 </property>

 <property name="password">

  <value>gdgs</value>

 </property>

   </bean>

 

 用户认证登陆配置

<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

系统默认自带的是  用户名和密码相等 即通过认证。

修改成<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

  <property name="dataSource" ref="casDataSource" />

  <property name="sql"  value="select password from fw_right_user where is_enable=1 and is_deleted = 0 and lower(user_code) = lower(?)" />

  <property  name="passwordEncoder"  ref="myPasswordEncoder"/>

</bean>

 

 

如果你们的工程采用了加密算法,则该类的加密要和你们项目用到的一致,则需要自己自定义一个加密的类,引入bean

<bean

id="myPasswordEncoder" class="org.jasig.cas.authentication.handler.MyPasswordEncoder"/> 

 

org.jasig.cas.authentication.handler.MyPasswordEncoder见《CAS制作加密jar.doc

证书认证时间默认是10秒 ,如果出现10秒还没认证完,则会报错

未能够识别出目标 'ST-41-2VcnVMguCDWJX5zHaaaD-xx票根

修改webapps\cas\WEB-INF\spring-configuration\ticketExpirationPolicies.xml 

<bean id="serviceTicketExpirationPolicy" class="org.jasig.cas.ticket.support.MultiTimeUseOrTimeoutExpirationPolicy"

          c:numberOfUses="1" c:timeToKill="${st.timeToKillInSeconds:100}" c:timeUnit-ref="SECONDS"/>

改成100秒 。

单点退出http://127.0.0.1:8088/cas/logout?service=127.0.0.1/frameWorkWeb

退出之后会返回到127.0.0.1/frameWorkWeb

修改cas-servlet.xml配置文件中的logoutController,新增属性  p:followServiceRedirects="${cas.logout.followServiceRedirects:true}"

猜你喜欢

转载自org-devour.iteye.com/blog/2170787