释锐CAS实战40Word文档下载推荐.docx
- 文档编号:19876281
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:13
- 大小:411.63KB
释锐CAS实战40Word文档下载推荐.docx
《释锐CAS实战40Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《释锐CAS实战40Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
如果不完成本步骤,运行应用系统时会出现如下错误:
java.lang.RuntimeException:
.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException:
PKIXpathbuildingfailed:
sun.security.provider.certpath.SunCertPathBuilderException:
unabletofindvalidcertificationpathtorequestedtarget
第5步:
应用证书到CASWeb服务器-Tomcat,就是启用Web服务器(Tomcat)的SSL
<
!
--DefineaSSLHTTP/1.1Connectoronport8443
ThisconnectorusestheJSSEconfiguration,whenusingAPR,the
connectorshouldbeusingtheOpenSSLstyleconfiguration
describedintheAPRdocumentation-->
<
Connectorport="
443"
protocol="
HTTP/1.1"
SSLEnabled="
true"
maxThreads="
150"
scheme="
https"
secure="
clientAuth="
false"
sslProtocol="
TLS"
keystoreFile="
C:
/apache-tomcat-7.0.25/keys/.key"
keystorePass="
threenet@123"
/>
好了,到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了
第6步:
启动TOMCAT,发现如下错误:
java.lang.Exception:
ConnectorattributeSSLCertificateFilemustbedefinedwhenusingSSLwithAPR
解决办法:
注释掉一行配置
Trythisasyourserver.xmlfile.IremovedsomeofthecommentsandcommentedouttheAPRlistener.
--<
ListenerclassName="
org.apache.catalina.core.AprLifecycleListener"
SSLEngine="
on"
-->
至此,测试一下打开
提醒:
在该步骤,客户端浏览器用户可以按提示一步一步安装证书,安装成功后,下次就不会出现这个提示了。
接下来配置CAS服务器。
第7步:
安装CAS服务器软件
7-1)下载完成后将cas-server-3.4.11.zip解压,解压cas-server-3.4.11/modules/cas-server-webapp-3.4.11.war,然后复制到你的tomcat/webapp目录下。
7-2)CAS深入配置,配置CAS服务器怎么读取数据库的信息进行身份验证,修改cas/WEB-INF/deployerConfigContext.xml文件。
先复制数据库驱动程序sqljdbc4.jar拷贝到tomcat7/lib下、cas-server-support-jdbc-3.4.11.jar、commons-dbcp.jar、commons-pool-1.3.jar和释锐自定义MD5加密编码包threeoa_utility.jar到cas/WEB-INF/lib/下。
注释掉:
SimpleTestUsernamePasswordAuthenticationHandler,改用QueryDatabaseAuthenticationHandler。
新增如下配置代码:
--
|验证数据库连接配置信息,by周清华上海释锐公司
+-->
beanid="
dataSource"
class="
mons.dbcp.BasicDataSource"
>
<
propertyname="
url"
<
value>
jdbc:
sqlserver:
//localhost:
1433;
databaseName=threenet_cas<
/value>
/property>
driverClassName"
com.microsoft.sqlserver.jdbc.SQLServerDriver<
username"
sa<
password"
threenet<
/bean>
|禁用cas内置的MD5加密法,改用释锐公司自己的MD5加密解密法,
--beanid="
MD5PasswordEncoder"
org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
autowire="
byName"
constructor-argvalue="
MD5"
/bean-->
com.threeoa.tools.encoder.ThreeoaPasswordEncoder"
/>
修改代码:
--<
beanclass="
org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"
-->
<
org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
<
ref="
sql"
value="
SELECTpasswordFROMpassportsWHEREusername=?
"
passwordEncoder"
至此,CAS服务器安装和配置成功,如下图
证书按上图处理。
修改tomcat/conf/server.xml文件,在<
Hostname="
localhost"
appBase="
webapps"
unpackWARs="
autoDeploy="
中添加<
Contextpath="
"
docBase="
/cas-server-webapp-3.4.11"
debug="
0"
reloadable="
,重启实现<
--
配置直接通过域名访问/cas应用
。
新的验证网址为
第8步:
配置CAS客户端,添加cas-client的jar包
8-1)将cas-client-core-3.2.1.jar和threeoa_utility.jar文件拷贝到应用程序\WebRoot\WEB-INF\lib下。
8-2)编辑web.xml,增加下列内容:
--========================单点登录开始========================-->
--用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
listener>
listener-class>
org.jasig.cas.client.session.SingleSignOutHttpSessionListener<
/listener-class>
/listener>
--该过滤器用于实现单点登出功能,可选配置。
filter>
filter-name>
CASSingleSignOutFilter<
/filter-name>
filter-class>
org.jasig.cas.client.session.SingleSignOutFilter<
/filter-class>
/filter>
filter-mapping>
url-pattern>
/*<
/url-pattern>
/filter-mapping>
--该过滤器负责用户的认证工作,必须启用它-->
CASFilter<
org.jasig.cas.client.authentication.AuthenticationFilter<
init-param>
param-name>
casServerLoginUrl<
/param-name>
param-value>
/init-param>
指定客户端的域名和端口,是指客户端应用所在机器而不是CASServer所在机器以下配置表示,
系统部署在域名为shirui-55的机器上,端口为80
-->
serverName<
/param-value>
--该过滤器负责对Ticket的校验工作,必须启用它-->
CASValidationFilter<
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter<
casServerUrlPrefix<
该过滤器负责实现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<
--自动根据单点登录的结果设置本系统的用户信息
display-name>
AutoSetUserAdapterFilter<
/display-name>
cn.threenet.eeoa.sso.filter.AutoSetUserAdapterFilter<
--========================单点登录结束========================-->
--=======解决“SQLServerException:
该连接已关闭”问题======================-->
OpenSessionInViewFilter<
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter<
8-3)注销当前登录用户<
ahref="
备注:
如果直接访问CAS的logout话,会出现注销成功页面,其实大部分情况下这个页面是没有必要的,更多的需求可能是退出后显示登录页面,并且登录成功后还是会进入到之前的业务系统,那么可以修改cas-servlet.xml文件,在"
logoutController"
的bean配置中增加属性“followServiceRedirects”,设置为“true”,然后在业务系统的注销连接中加入"
service参数"
值为业务系统的绝对URL,这样就OK了,如你的业务系统URL为:
特别注意:
CAS过滤器必须在所有其它过滤器(包括struts2)之前,否则SSO无效。
CAS服务端后台会出现下列错误而且logout无效:
SocketTimeoutDetectedwhileattemptingtosendmessageto[
原因是CAS服务器必须能连接到客户端应用的地址shirui-55(一般有公网域名或IP地址,不能是localhost),否则logout会无效。
怎么将设置cookie有效设定为无效?
默认配置cookie有效期为-1
配置文件为:
WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml
8-4)客户端程序获取当前登录用户的代码:
%@pagelanguage="
java"
import="
org.jasig.cas.client.authentication.AttributePrincipal"
%>
%
AttributePrincipalprincipal=(AttributePrincipal)request.getUserPrincipal();
Stringusername=principal.getName();
当前用户是:
%=username%>
第9步:
美化登录界面
复制cas\WEB-INF\view\jsp\default\ui的一些JSP文件,每一个文件的用途文件名已经区分了,自己修改了替换一下就可以了。
例如:
登录界面:
casLoginView.jsp
登录成功:
casGenericSuccess.jsp
登出界面:
casLogoutView.jsp
第10步:
将客户端应用程序跟CAS程序部署到一起,即部署到tomcat上,而不是jboss5上。
10-1)更改客户端的web.xml的客户端服务器名和端口8080,特别注意:
不能有http:
//
10-2)更改客户端应用为JDBC链接,暂时不用JNDI链接
10-3)重新发布到tomcat,并删除tomcat/lib下的hibernate3.jar和persistence.jar文件,否则CAS验证时提示CAS无效。
10-4)将.key.crt证书导入到tomcat的证书库中。
10-5)应用程序运行,但是个别功能页抛出错误:
javax.servlet.ServletException:
java.lang.NoClassDefFoundError:
javax/servlet/jsp/jstl/core/LoopTag
解决方法:
将jstl-1.2.jar拷贝到客户端程序WEB-INF/lib下
重启tomcat,一切正常。
10-6)将tomcat7做成windows服务:
首先,修改tomcat\bin\service.bat文件,将服务名和服务说明都改成ThreenetSSO,在这个脚本文件中加入JAVA_HOME环境变量设置;
其次,运行bin\service.batinstall即可安装成功ThreenetSSO服务;
最后,修改服务为自动启动并启动服务即可。
二.不带证书的非加密传输(non-secureconnection)配置方法
CAS取消HTTPS验证配置在第一部分中省略第1~5步骤即可,追加下列4个修改步骤:
第1步、修改casserver下\WEB-INF\deployerConfigContext.xml文件
org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:
httpClient-ref="
httpClient"
p:
requireSecure="
增加参数p:
,是否需要安全验证,即HTTPS,false为不采用。
第2步、修改casserver下\WEB-INF\spring-configuration\ticketGrantingTicketCookie
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 释锐 CAS 实战 40