部署服务器实现定制验证覆盖

减速机/变速机2021年09月06日

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 t –alias tomcat

这时需要输入上一步设定的密码,结果会在当前目录生成t信任状。

3. 为客户端的JVM导入密钥:

keytool –import –keystore $JAVA_HOME\\jre\\lib\\security\\cacerts

–file t –alias tomcat

输入密码时注意密码为“changeit”。

4. 修改服务端Tomcat配置文件,启用SSL。修改$CATALINA_HOME\\conf\\l,去掉有关SSL的那一段的注释,需要在connector字段中加入keystorePass=\"password\"(password即为1、2步中的密码),keystoreFile= \"keystorePath\"(可以把第一步生成的.keystore复制到$CATALINA_HOME\\conf下,这样keystoreFile= \"conf/.keystore\")。

5. 重启Tomcat,测试

1.3 CAS Server安装

下载CAS Server 3.0.4,将其中的r复制到$CATALINA_HOME\\webapps下,当然现在CAS中的用户密码认证Handler是很简陋的,产品化必须重写这部分代码,生成新的r。这时可以通过访问

1.4 CAS Client 部署

利用Tomcat自带的servlets-examples ($CATALINA_HOME\\webapps\\servlets-examples)和jsp-examples($CATALINA_HOME\\ webapps\\jsp-examples)进行试验,下载最新版本的Java CAS Client,将r复制到这两个项目的WEB-INF目录的lib下(需要新建此目录)。修改两个项目的WEB-INF\\ l,添加如下的过滤器:

!-- CAS Filters --

filter

filter-nameCASFilter/filter-name

SFilter/filter-class

init-param

ginUrl/param-name

param-

/init-param!--这里的server是服务端的IP--

init-param

lidateUrl/param-name

param-

/init-param!--这里的serName是服务端的主机名,而且必须是--

init-param

rverName/param-name

param-valueclient:port/param-value!--client:port就是需要CAS需要拦截的地址和端口,一般就是这个TOMCAT所启动的IP和port--

/init-param

/filter

filter-mapping

filter-nameCASFilter/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/p\');

// initialize phpCAS

phpCAS::client(CAS_VERSION_2_0,\'\',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提供的r,这里我们修改了cas-server- jdbc的源码满足自己的需要。并把mysql的jdbc驱动和修改后的jar部署到CAS%/WEB_INF/lib/。

修改 %CAS%/WEB_INF/deployerConfigContext..xml,其中关于验证器的一段如下:

………………………………..

bean class=\"eryDatabaseAuthenticationHandler\"

property name=\"sql\" value=\"select psw from user where username=?\" /

property name=\"dataSource\" ref=\"dataSource\" /

/bean

/list

/property

/bean

bean id=\"dataSource\" class=\"iverManagerDataSource\" destroy-method=\"close\"

property name=\"driverClassName\"iver/value/property

怀孕母猪、经产母猪存养量较大 property name=\"url\"valuejdbc:

property name=\"username\"valueusername/value/property

property name=\"password\"value********/value/property

/bean

Trackback:

查看本文来源

西宁妇科习惯性流产治疗多少钱
西安男科医院哪家好
小孩腹胀不消化怎么办
相关阅读
川博携手济源研究院举办“张大千临摹济源壁画研究”学术交流会

川博携手玄奘研究学术研究院举办“名家真迹玄奘画先为研究学术研究”学术...

2024-03-27
️来自霍格沃茨的趣味魔法编程让应用程序耕于心田,令魔法绽于指尖。影子老师全新力作,众人翘首以待,下周

...

2024-01-08
美元霸权陨落?俄气27个买家开设卢布帐户,美元对卢布跌破59大关

这些年,American几日挥舞着“美元大棒”,不是威胁这个第三世界,就是击打...

2023-12-09
关乎大资金动向!科创板“芯片”指数来了,42只样本股名单公布;上交所几大指数也调整,腾讯、美团等权重

A股、公司股票多个极其重要指标公布或修正,这意味着之外的大资金样式也...

2023-11-27
"零售之王"换帅出炉!27年"老招行"王良接棒,保持战略执行不偏移、不动摇

“批发人就时会”换帅出炉! 采访授予悉,5翌年19日下午,招商银行业召开...

2023-11-19
世界顶尖风景大片,愤慨心灵的万年奇观!

有着大树平滑的一块,好不可思议纵使后新生命以痛吻我,我仍报之以歌万丈...

2023-11-18
友情链接