部署cas服务器实现定制JDBC验证
来源:互联网 发布:java多线程的常用方法 编辑:程序博客网 时间:2024/05/05 18:09
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,添加如下的过滤器:
CASFilter
edu.yale.its.tp.cas.client.filter.CASFilter
edu.yale.its.tp.cas.client.filter.loginUrl
https://server:8443/cas/login
edu.yale.its.tp.cas.client.filter.validateUrl
https://serName:8443/cas/proxyValidate
edu.yale.its.tp.cas.client.filter.serverName
client:port
CASFilter
/servlet/*
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,其中关于验证器的一段如下:
………………………………..
com.mysql.jdbc.Driver
jdbc:mysql://192.168.1.246:3306/toodou
username
********
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,添加如下的过滤器:
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,其中关于验证器的一段如下:
………………………………..
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1503239
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 部署cas服务器实现定制JDBC验证
- 定制CAS登录验证
- CAS 定制登录验证
- cas之JDBC登录验证方式
- 关于CAS客户端部署实现
- [SSO技术]CAS在tomcat下的部署和定制
- 周记(cas服务器HTTPS验证配置)
- 使用Zend_Feed+Cron打造Feed Reader
- 终究需要什么呢?
- 开始翻译新书《PHP5 Objects, Patterns, and Practice》
- JQuery
- 可扩展能力还是够用就好?
- 部署cas服务器实现定制JDBC验证
- 创建Google Sitemap
- yale cas 配置谈
- PHP4即将退出历史舞台
- 在Linux上安装ruby和rails
- [活动召集]福建PHP社区聚会
- 什么是PHP ?
- JavaScript logger: Lumberjack
- 使用Zend_Feed+Cron打造Feed Reader