CAS配置手册Word格式文档下载.docx

上传人:b****5 文档编号:17406158 上传时间:2022-12-01 格式:DOCX 页数:43 大小:305.74KB
下载 相关 举报
CAS配置手册Word格式文档下载.docx_第1页
第1页 / 共43页
CAS配置手册Word格式文档下载.docx_第2页
第2页 / 共43页
CAS配置手册Word格式文档下载.docx_第3页
第3页 / 共43页
CAS配置手册Word格式文档下载.docx_第4页
第4页 / 共43页
CAS配置手册Word格式文档下载.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

CAS配置手册Word格式文档下载.docx

《CAS配置手册Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《CAS配置手册Word格式文档下载.docx(43页珍藏版)》请在冰豆网上搜索。

CAS配置手册Word格式文档下载.docx

4.5\modules文件夹下,把cas—server—webapp—3。

5。

war拷贝到Tomcat安装目录的(我的路径为D:

\apache-tomcat—6。

0。

30)webapps文件夹下。

为了方便在浏览器中浏览,把cas-server—webapp—3.4。

war文件名修改为cas.war

2运行Tomcat。

在浏览器中输入http:

//10.12。

21。

45:

8080/cas,显示登录界面。

输入用户名和密码(用户名和密码相等即可),登录成功.这样最简单的CAS验证服务器搭配成功。

4数据库验证方式

4.1密码已明文存在数据库中

1复制D:

\cas-server—3.4.5\modules下面所有jar包到D:

\apache—tomcat-6。

30\webapps\

cas\WEB—INF\lib下。

数据库为Oracle,因此把Oracle驱动包也复制到lib文件夹下。

注意删除重复的jar包.

2打开D:

\apache—tomcat-6.0。

30\webapps\cas\WEB-INF\deployerConfigContext.xml文件

在〈beanid=”authenticationManager”节点上面添加数据源信息:

<

beanid="

dataSource"

class="

org.springframework。

jdbc.datasource。

DriverManagerDataSource"

>

<

propertyname="

driverClassName”〉

value>

oracle.jdbc.driver。

OracleDriver

〈/value〉

〈/property〉

propertyname=”url"

value〉

jdbc:

oracle:

thin:

@10.12。

21.140:

1521:

orcl

/value〉

username"

〈value>

scott〈/value>

/property〉

propertyname=”password”〉

tiger〈/value〉

/bean〉

在该文件中搜索“SimpleTestUsernamePasswordAuthenticationHandler"

〈bean

class="

org。

cas。

authentication。

handler。

support.SimpleTestUsernamePasswordAuthenticationHandler"

/〉

这是cas提供的最简单的验证方式,即用户名和密码相等即可登录成功。

现假设我们的登录用户名和密码存在于t_login表中,信息如下:

ID

USERNAME

PASSWORD

1

coolszy

123456

把上面的bean给注销掉,添加如下信息:

beanclass="

cas.adaptors。

jdbc.QueryDatabaseAuthenticationHandler"

propertyname=”sql”value="

selectpasswordfromt_loginwhereusername=?

”/〉

〈propertyname="

dataSource”ref="

/〉

〈/bean>

重启服务器,测试.当然我们还可以指定表和字段

〈beanclass="

jasig.cas。

adaptors.jdbc。

SearchModeSearchDatabaseAuthenticationHandler"

abstract=”false”lazy—init=”default”autowire="

default”>

〈propertyname=”dataSource”ref=”dataSource"

/>

tableUsers"

value="

t_login”/〉

〈propertyname=”fieldUser”value=”username”/>

〈propertyname=”fieldPassword”value="

password"

/>

〈/bean〉

4.2密码已密文存在数据库中

以上的配置只适合密码已明文的方式存储在数据库中,但是实际中我们的密码都是经过加密的。

下面演示下如果使用MD5加密密码。

首先配置MD5,该配置信息放在数据源配置的下面.

beanid=”passwordEncoder”

class=”org。

cas.authentication.handler。

DefaultPasswordEncoder”>

〈constructor—argvalue=”MD5”/>

/bean>

然后修改上面的数据库验证配置,添加密码加密方式,修改后如下:

〈beanclass=”org。

jasig.cas.adaptors。

jdbc。

QueryDatabaseAuthenticationHandler"

sql”value=”selectpasswordfromt_loginwhereusername=?

"

ref=”dataSource"

〈propertyname=”passwordEncoder"

ref="

passwordEncoder”/〉

4.3使用自己编写的加密类

上面介绍了密码采用MD5加密的配置方式,下面介绍下如果使用我们自己编写的加密类。

1新建一个Java项目,cas—server-core—3.4.5。

jar包,

2新建一个Java类,实现org。

cas.authentication。

PasswordEncoder接口中的publicStringencode(Stringarg0)方法,这是用来对输入的密码进行加密,我这里命名为:

PasswordEncrypt

3在encode()方法中可以根据实际的加密方式编写代码。

packageszy.cas。

encrypt;

importjava.security.MessageDigest;

importorg。

handler.PasswordEncoder;

/**

*@authorcoolszy

*@dateJan21,2011

*/

publicclassPasswordEncryptimplementsPasswordEncoder

publicStringencode(Stringpassword)

{

try

MessageDigestalg=MessageDigest。

getInstance(”SHA—1"

);

alg。

reset();

alg.update(password。

getBytes());

byte[]hash=alg。

digest();

Stringdigest=””;

for(inti=0;

i<

hash。

length;

i++)

{

intv=hash[i]&

0xFF;

if(v〈16)

digest+=”0"

;

digest+=Integer.toString(v,16).toUpperCase();

}

returndigest;

catch(Exceptione)

{

e.printStackTrace();

returnpassword;

}

}

}

编写完毕后,建议进行测试,避免错误发生。

然后把该项目导出成jar包,并且把jar包拷贝到D:

\apache—tomcat—6。

0.30\webapps\cas\WEB—INF\lib下。

然后修改上面添加的

〈beanid="

passwordEncoder"

DefaultPasswordEncoder"

〈constructor-argvalue=”MD5”/〉

把class修改为我们的加密类,即

beanid=”passwordEncoder”class="

szy。

cas.encrypt。

PasswordEncrypt"

〈!

——

〈constructor—argvalue="

MD5”/>

——>

〈/bean〉

测试,成功.

5修改界面

5.1修改验证通过后显示提示信息的界面

修改D:

0.30\webapps\cas\WEB-INF\view\jsp\default\ui\

casGenericSuccess.jsp页面,添加如下内容调转到指定页面

〈%

response。

sendRedirect(”http:

//10.12.21.139.:

8080/client/index。

action”);

%>

5.2定义自己的验证界面

cas给我们提供了一个"

default”界面,该界面比较简单,而且也不怎么漂亮,因此我们需要定制自己的验证界面。

下面介绍一下如何设计自己的界面.

1进入D:

0.30\webapps\cas\WEB—INF\view\jsp,把default文件夹复制一份在本目录下,这里我把文件夹修改为coolszy.

2进入D:

\apache—tomcat—6.0。

30\webapps\cas\WEB-INF\view\jsp\coolszy\ui。

在该目录下你将会看到如下文件:

casConfirmView。

jsp

在浏览器跳转到用户想要访问的页面之前如果有警告信息,这个页面将会被显示。

casGenericSuccess.jsp

这个页面一般不会被显示,除非我们直接访问验证服务器的验证界面。

http:

21.45:

8080/cas.

casLoginView.jsp

重点修改的页面。

这个就是输入验证信息的界面。

casLogoutView.jsp

注销界面

serviceErrorView。

jsp

如果用户想要访问的服务没有使用CAS,这个页面将会显示出来。

注意:

如果我们所有的业务系统都使用了CAS,这个界面则会没有任何作用.

如果想修改界面,我建议我们首先熟悉里面所有的jsp页面。

重点是casLoginView.jsp还有includes目录下的两个文件。

我们在修改时尽量不要修改forms和逻辑标签。

除非我们比较熟悉他们。

如果我们定义的页面中含有样式表,可直接修改D:

\apache—tomcat—6.0.30\webapps\cas\themes\default目录下的cas.css文件。

当然我们也可以自己创建一个css文件,个人建议也把文件放到D:

0.30\webapps\cas\themes中,可新建一个目录比如coolszy。

接着我们要修改jsp页面中的引用路径。

打开D:

\apache—tomcat-6.0.30\webapps\cas\WEB—INF\view\jsp\

coolszy\ui\includes\top。

jsp文件。

找到如下代码:

spring:

themecode="

standard.custom。

css。

file”var="

customCssFile"

我们需要standard.custom.css.file的值。

该值存在于

D:

0.30\webapps\cas\WEB—INF\classes\cas-theme-default.properties文件中。

修改为我们的路径。

引用的图片也需要注意相对路径和绝对路径。

3进入D:

0.30\webapps\cas\WEB—INF\classes目录,复制

default_views。

properties,我这里重新命名为coolszy_views.properties.打开该文件,修改页面路径,我这里是把default全部替换为coolszy。

该目录下存在很多messages_*.properties文件,主要是为了国际化。

我把不需要的语言给删除掉。

同时修改messages_zh_CN。

properties文件中的信息,使得提示信息更加符合我们的需求.这个文件我是在Eclipse中修改的。

我的Eclipse安装了PropertiesEditor插件。

4打开D:

\apache-tomcat-6。

30\webapps\cas\WEB—INF\cas.properties文件,把

viewResolver.basename=default_views

修改为

viewResolver。

basename=coolszy_views

5启动服务器,测试下效果。

有可能显示原来的界面,可尝试把D:

\apache-tomcat—6.0.30\

work\Catalina目录下的文件夹清空掉。

6服务器端超时配置

\apache—tomcat-6.0.30\webapps\cas\WEB-INF\spring-configuration\目录中的

applicationContext.xml文件,修改如下部分信息:

httpClient”class=”org.jasig。

cas.util。

HttpClient”

p:

readTimeout="

5000”

p:

connectionTimeout="

5000”/>

修改我们所需要的超时时间.

7HTTPS验证配置

7.1普通证书

注:

如果电脑上没有设置环境变量JAVA_HOME,请设置完毕后再操作。

7.1.1创建key

1进入cmd。

输入“cd\”来到系统根目录

2输入命令

keytool—genkey-aliascasserver-keyalgRSA—keypasschangeit-storepasschangeit—keystoreserver.keystore—validity3600

注:

参数-validity指证书的有效期(天),缺省有效期只有90天。

其它参数含义请在cmd上输入keytool回车即可看到。

在生成证书时会让你输入信息,其中“您的名字与姓氏是什么?

”这个内容必须填写cas服务器所对应的域名或者服务器的计算机名,我这里使用计算机名:

这样在我们的C盘根目录下生成一个名为server。

keystore的证书。

7.1.2将证书导入的JDK的证书信任库中

1导出证书,命令如下:

keytool-export—trustcacerts-aliascasserver-fileserver。

cer—keystoreserver。

keystore-storepasschangeit

server.keystore为我们上一步生成的证书.

2导入到证书信任库,命令如下:

keytool—import-trustcacerts-aliascasserver-fileserver。

cer-keystore"

C:

\ProgramFiles\Java\jdk1.6。

0_21\jre\lib\security\cacerts”-storepasschangeit

JDK的路径根据你电脑安装的位置进行修改.另外如果你电脑中安装的JRE,还应执行如下命令:

keytool-import—trustcacerts—aliascasserver—fileserver。

cer—keystore"

C:

\ProgramFiles\Java\jre6\lib\security\cacerts”—storepasschangeit

3顺便补充另外两个命令

列出所导入证书

keytool—list—v—keystore"

0_21\jre\lib\security\cacerts"

删除存在的证书

Keytool-delete-trustcacerts—aliascasserver 

—keystore 

”C:

—storepasschangeit

如果提示输入密码,则输入:

changeit

7.1.3配置TOMCAT服务器

1打开D:

\apache-tomcat—6.0。

30\conf\server。

xml文件,找到:

Connectorport="

8443"

protocol="

HTTP/1。

1”SSLEnabled="

true"

maxThreads=”150"

scheme=”https"

secure=”true”

clientAuth="

false"

sslProtocol="

TLS"

该内容默认是被注视掉.我们把该段修改为:

Connectorprotocol=”org.apache.coyote。

http11。

Http11NioProtocol"

port="

minSpareThreads=”5"

maxSpareThreads="

75"

enableLookups="

disableUploadTimeout=”true"

acceptCount="

100"

maxThreads="

200"

scheme="

https”secure="

true”SSLEnabled="

clientAuth=”false"

TLS”

keystoreFile="

\server.keystore"

keystorePass=”changeit"

其中keystoreFile为已经生成的服务器证书的地址

keystorePass为自定义的服务器证书的密码

7.1.4测试

打开浏览器输入

https:

//10.12.21.45:

8443/cas/

如果出现如下警告信息,点击确定.

7.2使用CA证书

在一些企业中会使用CA证书进行验证,本节讲解如何使用CA证书.

7.2.1准备工作

使用如下命令把上一些的证书从CAS验证服务器和业务服务器上的JRE中删除

Keytool—delete—trustcacerts—aliascasserver 

-keystore 

"

\ProgramFiles\Java\jdk1。

6.0_21\jre\lib\security\cacerts”-storepasschangeit

Keytool—delete-trustcacerts-aliascasserver-keystore”C:

7.2.2创建key

在cas验证服务器输入命令

keytool-genkey-aliaswww.coolszy。

com—keyalgRSA—keysize2048-keypasschangeit—storepasschangeit—keystorecoolszy.jks-validity3600

其中www。

coolszy。

com为CAS验证服务器的对应的域名。

在生成证书时会让你输入信息,其中“您的名字与姓氏是什么?

”这个内容同上:

这样在我们的C盘根目录下生成一个名为coolszy。

jks的文件。

7.2.3创建证书请求

命令:

keytool—certreq-alias—filecoolszy.csr-keystorecoolszy.jks-keypasschangeit—storepasschangeit

7.2.4申请CA证书

1进入公司的CA证书申请网站

2点击“申请一个证书”--“高级证书申请”-—“使用base64编码的CMC或PKCS#10文件提交一个证书申请,或使用base64编码的PKCS#7文件续订证书申请。

——

“浏览要插入的文件”--选择“C:

\coolszy.csr"

——“提交”——“选择Base64编码"

-—“下载证书链”——保存certnew.p7b。

7.2.5导入证书

keytool—import-trustcacerts-aliaswww。

com—filec:

\certnew。

p7b—keystorecoolszy。

jks-keypasschangeit-storepasschangeit

7.2.6CAS验证服务器端Tomcat配置

修改server.xml,开启开启https;

443”protocol="

apache.coyote.http11.Http11NioProtocol"

SSLEnabled=”true"

150”scheme=”https"

false”ssl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1