安置cas服务器实现定制JDBC考据[Java编程]
本文“安置cas服务器实现定制JDBC考据[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1 安装
1.1系统配置
以下的软件环境是必须的:
1. JDK 1.4.2 or higher
2. Tomcat 5.X 1.2 Tomcat 配置,启用SSL
1. 在要安装CAS的机械上为Tomcat生成用于SSL通讯的密钥:
keytool –genkey –alias tomcat –keyalg RSA
这时需求输入密钥密码和其他参数(第一个参数CN必须设置为CAS机械名,本机利用localhost测试),会在用户目录中生成.keystore密钥文件.
2. 导出密钥文件:
keytool –export –file server.crt –alias tomcat
这时需求输入上一步设定的密码,后果会在当前目录生成server.crt信任状.
3. 为客户端的JVM导入密钥:
keytool –import –keystore $JAVA_HOME\jre\lib\security\cacerts
–file server.crt –alias tomcat
输入密码时注意密码为“changeit”.
4. 改正服务端Tomcat配置文件,启用SSL.改正$CATALINA_HOME\conf\server.xml,去掉有关SSL的那一段的注释,需求在connector字段中加入keystorePass="password"(password即为1、2步中的密码),keystoreFile= "keystorePath"(可以把第一步生成的.keystore复制到$CATALINA_HOME\conf下,这样keystoreFile= "conf/.keystore").
5. 重启Tomcat,测试https://server:8443能否可以拜候(server应换为机械名或IP地址).
1.3 CAS Server安装
下载CAS Server 3.0.4,将此中的cas.war复制到$CATALINA_HOME\webapps下,当然目前CAS中的用户密码认证Handler是很粗陋的,产品化必须重写这部份代码,生成新的cas.jar.这时可以通过拜候https://localhost:8443/cas测试CAS能否成功布置,应看到CAS登陆界面.
1.4 CAS Client 布置
操纵Tomcat自带的servlets-examples ($CATALINA_HOME\webapps\servlets-examples)和jsp-examples($CATALINA_HOME\ webapps\jsp-examples)举行试验,下载最新版本的Java CAS Client,将casclient.jar复制到这两个项目的WEB-INF目录的lib下(需求新建此目录).改正两个项目的WEB-INF\ web.xml,增添以下的过滤器:
<!-- CAS Filters -->
<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://server:8443/cas/login</param-value>
</init-param><!--这里的server是服务端的IP-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://serName:8443/cas/proxyValidate</param-value>
</init-param><!--这里的serName是服务端的主机名,并且必须是-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>client:port</param-value><!--client:port就是需求CAS需求拦阻的地址和端口,普通就是这个TOMCAT所启动的IP和port-->
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern><!--这里的设置是针对servlets-examples的,针对jsp-examples设置为/*-->
</filter-mapping>
2 测试
重启Tomcat,定位到servlets-examples,履行任何一个例子城市被重定向到CAS登陆页;再定位到jsp-examples,也会被重定向到CAS登陆页;此时登陆(默许的认证Handler只要求username=password,可肆意挑选用户名);登录后就会进入jsp- examples;持续定位到servlets-examples,履行任何一个例子也不用再输入密码.
增补:
在多台机械上布置CAS:这些机械必须在同一个域中;服务器端生成证书,客户端导入证书(操作见上).
PHP客户端:利用esup-phpcas客户端,考证部份php代码以下:
// import phpCAS lib
include_once('CAS/CAS.php');
// initialize phpCAS
phpCAS::client(CAS_VERSION_2_0,'freeserver.test-toodou.com',8443,'/cas');
// force CAS authentication
phpCAS::forceAuthentication();
// at this step, the user has been authenticated by the CAS server
// and the user's login name can be read with phpCAS::getUser().
// logout if desired
if (isset($_REQUEST['logout'])) {
phpCAS::logout();
}
登录完毕后,CAS服务器会自动重定向回本页面.
CAS服务器与数据库衔接:实际环境中我们需求到数据库考证用户有效性,在CAS中配置JDBC衔接.
首先,我们需求成立自己的数据库考证器,当然也可以利用Jasig供应的cas-server-jdbc.jar,这里我们改正了cas-server- jdbc的源码满意自己的需求.并把mysql的jdbc驱动和改正后的jar布置到CAS%/WEB_INF/lib/.
改正 %CAS%/WEB_INF/deployerConfigContext..xml,此中关于考证器的一段以下:
………………………………..
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select psw from user where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
</list>
</property>
</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://192.168.1.246:3306/toodou</value></property>
<property name="username"><value>username</value></property>
<property name="password"><value>********</value></property>
</bean>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1503239
以上是“安置cas服务器实现定制JDBC考据[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |