SSOcas.docx
- 文档编号:4406810
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:192.77KB
SSOcas.docx
《SSOcas.docx》由会员分享,可在线阅读,更多相关《SSOcas.docx(14页珍藏版)》请在冰豆网上搜索。
SSOcas
单点登录
Cas包含两个部分:
CASServer和CASClient。
CASServer需要独立部署,主要负责对用户的认证工作。
CASClient负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CASserver。
一.CAS服务端配置
1.环境
JDK1.6
Apache-tomcat-6
cas-server-core-3.4.12.jar
2.配置server
复制cas-server-webapp-3.4.12.war到webapps下
3.修改登录验证方法(WEB-INF\deployerConfigContext.xml)
a.添加
--注释掉
--添加-->
"/> oracle: thin: @192.168.11.9: 1521: orcl 4. 5.CAS服务端超时配置(WEB-INF\spring-configuration\applicationContext.xml) p: readTimeout="5000" p: connectionTimeout="5000"/> 6.CAS取消HTTPS验证配置 a.(WEB-INF\deployerConfigContext.xml) httpClient-ref="httpClient"p: requireSecure=”false”/> b.(WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml) p: cookieSecure="false" p: cookieMaxAge="-1" p: cookieName="CASTGC" p: cookiePath="/cas"/> c.(WEB-INF\spring-configuration\warnCookieGenerator.xml) 7.CAS安全性设置(WEB-INF\spring-configuration\ticketExpirationPolicies.xml) --Thisargumentisthetimeaticketcanexistbeforeitsconsideredexpired.--> index="0" value="7200000"/> 二.HTTPS验证配置 1.生成serverkey Keytool–genkey–aliascasserver–keyalgRSA–keypasschangeit–storepasschangeit–keystoreserver.keystore–validity3600 2.将证书导入的JDK的证书信任库中 第一步是导出证书,命令如下: Keytool–export–trustcacerts–aliascasserver–fileserver.cer–keystoreserver.keystore–storepasschangit 第二步是导入到证信任库书,命令如下: Keytool–import–trustcacerts–aliascasserver–fileserver.cer–keystoreC: \java\jre1.6.0_02\lib\security\cacerts–storepasschangeit 列出所导入证书: Keytool–list–v–keystorec: \java\jre1.6.1_02\lib\security\cacerts 删除存在的证书: Keytool–delete–trustcacerts–aliascasserver–keystorec: \java\jre1.6.0_02\lib\security\cacerts–storepasschangeit 3.配置TOMCAT port="8443"minSpareThreads="5"maxSpareThreads="75" enableLookups="true"disableUploadTimeout="true" acceptCount="100"maxThreads="200" scheme="https"secure="true"SSLEnabled="true" keystoreFile="C: /ProgramFiles/Java/jdk1.6.0_14/bin/michael.keystore"keystorePass="changeit" truststoreFile="C: /ProgramFiles/Java/jdk1.6.0_14/jre/lib/security/cacerts" clientAuth="false"sslProtocol="TLS"/> 三.CAS客户端配置(Java) 1.导入服务端生成证书 复制cas服务端生成证书server.cer到客户端,将证书导入JDK中 Keytool–import–trustcacerts–aliascasserver–fileserver.cer–keystorec: \java\jre1.6.0_02\lib\security\cacerts–storepasschangeit 2.配置客户web.xml文件(完整配置) xmlversion="1.0"encoding="UTF-8"? > xsi="http: //www.w3.org/2001/XMLSchema-instance"xsi: schemaLocation=" --指定spring的配置文件,从/WEB-INF/目录寻找配置文件--> --=======================Filter定义==============--> --使用spring解决struts2乱码问题--> --HibernateOpenSessionInViewfilter--> --Struts2filter--> --指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称,默认值为sessionFactory.如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,该参数一定要指定,否则会出现找不到sessionFactory的例外--> --配置struts2--> --========================单点登录开始========================--> --用于单点退出,该过滤器用于实现单点登出功能,可选配置--> org.jasig.cas.client.session.SingleSignOutHttpSessionListener --该过滤器用于实现单点登出功能,可选配置。 --> org.jasig.cas.client.session.SingleSignOutFilter --该过滤器负责用户的认证工作,必须启用它--> org.jasig.cas.client.authentication.AuthenticationFilter 8443/cas/login --这里的server是服务端的IP--> 8443/cas/serviceValidate 8080 --该过滤器负责对Ticket的校验工作,必须启用它--> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter 8443/cas 8080 -- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 --> org.jasig.cas.client.util.HttpServletRequestWrapperFilter -- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 --> org.jasig.cas.client.util.AssertionThreadLocalFilter --自动根据单点登录的结果设置本系统的用户信息--> --========================单点登录结束========================--> --======================Filter映射====================--> --Spring的ApplicationContext载入--> --对Spring容器进行实例化--> --Spring刷新Introspector防止内存泄露--> --session超时定义,单位为分钟-->
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSOcas