1.
安装
JDK
安装
jdk1.5
到
D:\Program Files\Java\jdk 1.5.0 _04
2
.安装
Tomcat6.0
安装
tomcat6.0
到
D:\Program Files\Apache Software Foundation\Tomcat 6.0
,其中注意
jre
路径选择
jdk
目录下的:
3.
安装
myeclipse6.0
1
)安装
myeclipse6.0
到
D:\Program Files\MyEclipse 6.0
2
)打开安装后的
MyEclipse 6.0
,集成第
2
步安装的
tomcat
然后配置
tomcat
的
jdk
,(注意:
myeclipse
默认使用自带的
jre
,这里我选择了自己安装的
jdk
。)
4.
集成
CAS
(
server
和
client
在一台机器)
1
)下载
cas server
http://www.jasig.org/cas/download/cas-server-333-final
下载后解压此包,找到
cas-server- 3.3.3 /modules
下的
cas-server-webapp-3.3.3.war
改名为
cas.war,
然后将其拷贝到
tomcat
的
webapps
文件夹下。
2)
下载
cas Java client
http://www.jasig.org/cas/client-integration/java-client
3
)启动
cmd
,进入
jdk
的
bin
目录下调用
keytool
命令生成证书:
l
生成服务端密匙
server.keystore
keytool -genkey -alias casserver -keyalg RSA -keypass changeit -storepass changeit -keystore
server.keystore
l
生成服务端证书
server.cer
keytool -export -alias casserver -storepass changeit -file server.cer -keystore server.keystore
命令执行后生成一个
server.cer
的证书文件
l
导入证书文件到
cacerts
文件中,执行以下命令
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
4
)在
jdk
的
bin
目录下会生成以上三个文件,把
cacerts
拷贝到
D:\Program Files\Java\jdk 1.5.0 _04\jre\lib\security
下。
5
)把
server.keystore
暂放到
D
:
/
根目录下(可自己选择位置)。
6
)
启动
tomcat
的
https
,修改
Tomcat
的
conf
目录下的配置文件
server.xml
添加以下的内容:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D
:
/server.keystore"
keystorePass="changeit"/>
其中属性
keystoreFile
对应
server.keystore
所存位置。修改后可在浏览器下打开
URL
:
https://localhost:8443/
进行测试
https
。
如果出来
tomcat
主页那么你就配置成功了
.
7
)用
tomcat
下的例子
examples
来做客户端测试(当然,你可以在
myeclipse
中写
project
测试),将第
2
)步下载的客户端
casclient- 2.1.1 .jar
包拷贝到
D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\examples\WEB-INF\lib
下,也可能需要两个包
commons-logging-1.0.4.jar
,
log4j-1.2.11.jar
,需另行下载
8
)打开
D:\Program Files\Tomcat 6.0\webapps\examples\WEB-INF
下的
web.xml
加入
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>
edu.yale.its.tp.cas.client.filter.CASFilter
</filter-class>
<init-param>
<param-name>
edu.yale.its.tp.cas.client.filter.loginUrl
</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>
edu.yale.its.tp.cas.client.filter.validateUrl
</param-name>
<param-value>
https://localhost:8443/cas/proxyValidate
</param-value>
</init-param>
<init-param>
<param-name>
edu.yale.its.tp.cas.client.filter.serverName
</param-name>
<param-value>localhost:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注:
tomcat6.0
中的
web.xml
符合
j2se5
规范
,filter
跟
felter mapping
要集中分开存放,否则会出错。
配置成功后,启动
tomcat
,在浏览器中输入
URL
:http://localhost:8080/examples/servlets/
如果
cas
集成成功,此时会定向到
cas
单点登录界面
,
如下
:
进行登录验证:
cas
初始情况下填写一致的用户名和密码即可通过验证。例如:
user/user.
验证成功后即可定向到目标页。
9)
配置CAS
使用数据库进行验证
i.
在
MySql
中的
Test
库中新建
app_user
表
CREATE TABLE `app_user` (
`username` varchar(30) NOT NULL default '',
`password` varchar(45) NOT NULL default '',
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
添加以下用户:
INSERT INTO `app_user` (`username`,`password`) VALUES
('oksonic','tt'),
('oksonic1','oksonic1');
ii.
修改cas
项目中的deployerConfigContext.xml
文件
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注释掉该行,在其下加入:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from app_user where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
并添加一个
bean
:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/test</value></property>
<property name="username"><value>test</value></property>
<property name="password"><value>test</value></property>
</bean>
拷贝
cas-server-support-jdbc- 3.3.3 .jarr
和
mysql-connector-java-5.1.8-bin.jar
以及
spring-jdbc.ja
r
(特别是这个,要不就会出现下面的错误)到
webapps/cas/WEB-INF/lib
下。
本文出自 “彩色天空” 博客,谢绝转载!