cas服务器端以及客户端部署文档格式.docx
《cas服务器端以及客户端部署文档格式.docx》由会员分享,可在线阅读,更多相关《cas服务器端以及客户端部署文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
![cas服务器端以及客户端部署文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/3b6ede01-f664-4b61-b8d9-f8e53e5abce2/3b6ede01-f664-4b61-b8d9-f8e53e5abce21.gif)
cookiePath="
/cas"
/>
通过修改该项配置文件,cas即可支持http形式的访问。
1.1升级cas
1.拷贝WEB-INF\classes\org\jasig\cas\servlet文件夹至升级后的环境。
2.在cas的web.xml中增加验证用户名密码的servlet
servlet>
<
servlet-name>
validateCode<
/servlet-name>
servlet-class>
org.jasig.cas.servlet.ValidatorServlet<
/servlet-class>
/servlet>
servlet-mapping>
<
url-pattern>
/servlet/validateCodeServlet<
/url-pattern>
/servlet-mapping>
3.拷贝WEB-INF\view\jsp\default\ui\casLoginView.jsp至升级后的环境。
4.修改WEB-INF\cas-servlet.xml文件,在beanlogoutController中增加1个参数:
propertyname="
followServiceRedirects"
value="
true"
5.拷贝cas下的css以及images、js、styles至升级后的环境,这块是我们自定义登录页面的样式单以及脚本以及图片路径。
二、cas服务器端部署(TLS[https])
3.生成证书:
keytool-genkey-aliaswsria-keyalgRSA-keystoreD:
/signleLogin/wsriakey
D:
/signleLogin/wsriakey是证书存放地址。
接下来会有提示,让你输入keystore密码以及证书信息,以下是一个example:
输入keystore密码:
123456
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
ucap
您的组织名称是什么?
单点登录
您所在的城市或区域名称是什么?
北京
您所在的州或省份名称是什么?
该单位的两字母国家代码是什么
ZH
CN=,OU=ucap,O=单点登录,L=北京,ST=北京,C=ZH正确吗?
[否]:
y
输入<
wsria>
的主密码
(如果和keystore密码相同,按回车):
4.导出证书
keytool-export-fileD:
/signleLogin/wsria.crt-aliaswsria-keystoreD:
导出该证书,是为了给客户端使用。
5.修改服务器端的127.0.0.1为域名
修改域名的文件在:
C:
\WINDOWS\system32\drivers\etc\hosts
以下是一个example,这里我们修改域名为【】:
127.0.0.1
6.修改cas\WEB-INF\deployerConfigContext.xml
本例中我们是以oracle为例,lib中也只有oracle的驱动,如果想配置其他数据库,不但需要配置该数据源还需要把相应的驱动jar包放到lib中。
三、客户端配置(普通[http])
1.修改客户端tomcat的web.xml增加cas的filter
!
--用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
filter>
filter-name>
CASSingleSignOutFilter<
/filter-name>
filter-class>
org.jasig.cas.client.session.SingleSignOutFilter<
/filter-class>
/filter>
--该过滤器负责用户的认证工作,必须启用它-->
CASFilter<
com.ucap.cas.client.authentication.AuthenticationFilter<
init-param>
<
param-name>
casServerLoginUrl<
/param-name>
param-value>
http:
//192.168.1.241:
8080/cas/login<
/param-value>
--这里的server是服务端的IP-->
/init-param>
serverName<
8080<
ignoreFilterUrl<
/login_login.action*<
--该过滤器负责对Ticket的校验工作,必须启用它-->
CASValidationFilter<
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter<
casServerUrlPrefix<
8080/cas<
--
该过滤器负责实现HttpServletRequest请求的包裹,
比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
-->
CASHttpServletRequestWrapperFilter<
org.jasig.cas.client.util.HttpServletRequestWrapperFilter
该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。
比如AssertionHolder.getAssertion().getPrincipal().getName()。
CASAssertionThreadLocalFilter<
org.jasig.cas.client.util.AssertionThreadLocalFilter<
--自动根据单点登录的结果设置本系统的用户信息-->
filter-mapping>
*.jsp<
/filter-mapping>
*.action<
注意:
cas的filter-mapping必须放在其他filter-mapping的前面,即保持cas为首个filter-mapping。
loginFilter<
com.ucap.web.cm.webapp.filter.LoginFilter<
encoding<
UTF-8<
redirectUrl<
8080/cas/logout<
noFiltedUrlsStr<
login_login.action;
logout_logout.action;
getRandomImages_login.action;
validateCode_login.action;
validateUserByLoginId_login.action;
validatePwd_login.action;
checkAccountIsNotExpired_login.action;
checkPwdIsNotExpired_login.action;
ajaxValidateLogin_login.action;
preview_resource.action;
getWebsiteAndChannelNotLoginTree_tree.action<
2.修改account-struts.xml,该修改针对的是website-webapp以及其他用到该文件的web工程
result
name="
logoutSuccess"
type="
redirect"
>
/result>
四、客户端配置(TLS[https])
3.修改客户端的127.0.0.1为域名,修改方式与服务器端一致,但是域名不能与服务器端相同,因为服务器端为,那么我们配置本地的域名为。
4.导入证书
该证书指的是,刚刚从服务器段导出的wsriakey。
没有特殊要求的话,一般将该证书导入到系统环境变量中指定的jdk中,如果Tomcat指定了jdk,那么将证书导入到指定的jdk中。
keytool-import-keystoreC:
\Java\jdk1.5.0_22\jre\lib\security\cacerts-fileD:
\signleLogin\wsria.crt-aliaswsria
\Java\jdk1.5.0_22\jre\lib\security\cacerts路径包含空格的话,需要用””包起来,即:
\ProgramFiles\Java\jdk1.5.0_22\jre\lib\security\cacerts
“C:
\ProgramFiles\Java\jdk1.5.0_22\jre\lib\security\cacerts”
5.客户端关联服务器
在cmd中进入到trunk\deployment\dev\cas下执行以下的命令:
javaInstallCert:
9996
这里服务器的域名,具体以实际情况为准。
9996cas服务器端的端口号,具体以实际情况为准。
6.修改客户端tomcat/conf/server.xml
增加1个标签:
Connectorport="
8453"
protocol="
HTTP/1.1"
SSLEnabled="
maxThreads="
150"
scheme="
https"
secure="
clientAuth="
sslProtocol="
TLS"
keystoreFile="
E:
/signleLogin/wsriakey"
keystorePass="
changeit"
/>
这里:
keystoreFile="
指向本地证书的物理位置
7.修改客户端tomcat的web.xml增加cas的filter
:
9996/cas/login<
9996/cas<
/filter-mappi