可以自己参考网站http://www.ja-sig.org/wiki/display/CASC/CAS+Client+for+Java+3.1
进行学习。
1 下载需要的资源:网址是http://www.jasig.org/cas/download,在此页面下载服务端资源CAS Server 3.5.1 Release 和客户端资源Jasig CAS Client for Java version 3.2.1 released。
2 修改服务端程序
2.1 将CAS Server 3.5.1 Release解压后,在modules目录中找到cas-server-webapp-3.5.1.war,将其拷贝到<tomcat_home>/webapps中,更名为cas,启动tomcat。当启动完毕,访问路径http://localhost:8080/cas/login。出现如图页面
输入用户名=密码,进行登录。出现如下界面,初步搭建完成。
2.2,导入eclipse,详细步骤如下。
步骤一在eclipse中新建项目cas;
步骤二到<tomcat_home>/webapps/cas/WEB-INF/lib下将所有的jar文件拷贝到cas/WebContent/WEB-INF/lib目录下。
步骤三<cas-server-3.5.1>/cas-server-webapp/src/main/webapp/WEB-INF/classes下文件复制到cas/src下。
步骤四将<cas-server-3.5.1>/cas-server-webapp/src/main/java中代码拷贝到src中。
步骤五拷贝<cas-server-3.5.1>/cas-server-webapp/src/main/webapp中代码到cas/WebContent中。
步骤六拷贝核心代码到src中,即将<cas-server-3.5.1>/cas-server-core/src/main/java拷贝到src下.
步骤七,重新发布刚建造的系统,通过路径http://localhost:8080/cas/访问它。
重新登录即可
3,修改完善一下,支持数据库访问。
3.1拷贝<cas-server-3.5.1>/cas-server-support-jdbc/src/main/java下代码到系统src中。
3.2 修改cas/WebContent/WEB-INF/deployerConfigContext.xml文件,依次添加如下代码
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://127.0.0.1:3306/renshi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>root</value> </property> </bean> <bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName"> <constructor-arg value="MD5"/> </bean>
3.3
配置authenticationManager下面的authenticationHandlers属性。注释掉原有的
<!--EndFragment-->
<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 community_password from community_user_info where lower(community_user_info.community_user) = lower(?)" /> <property name="passwordEncoder" ref="passwordEncoder"/> </bean>
注意此处的sql,是用来比较密码的。
拷贝jar包commons-dbcp.jar,commons-pool.jar到lib中。
请继续看二