SSOcas.docx

上传人:b****4 文档编号:4406810 上传时间:2022-12-01 格式:DOCX 页数:14 大小:192.77KB
下载 相关 举报
SSOcas.docx_第1页
第1页 / 共14页
SSOcas.docx_第2页
第2页 / 共14页
SSOcas.docx_第3页
第3页 / 共14页
SSOcas.docx_第4页
第4页 / 共14页
SSOcas.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SSOcas.docx

《SSOcas.docx》由会员分享,可在线阅读,更多相关《SSOcas.docx(14页珍藏版)》请在冰豆网上搜索。

SSOcas.docx

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.jdbc.driver.OracleDriver

jdbc:

oracle:

thin:

@192.168.11.9:

1521:

orcl

program

program

MD5

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/目录寻找配置文件-->

contextConfigLocation

/WEB-INF/applicationContext*.xml

--=======================Filter定义==============-->

--使用spring解决struts2乱码问题-->

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

--HibernateOpenSessionInViewfilter-->

OpenSessionInViewFilter

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

--Struts2filter-->

struts2CleanUpFilter

org.apache.struts2.dispatcher.ActionContextCleanUp

--指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称,默认值为sessionFactory.如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,该参数一定要指定,否则会出现找不到sessionFactory的例外-->

sessionFactoryBeanName

sessionFactory

--配置struts2-->

struts2Filter

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

encodingFilter

/*

--========================单点登录开始========================-->

--用于单点退出,该过滤器用于实现单点登出功能,可选配置-->

org.jasig.cas.client.session.SingleSignOutHttpSessionListener

--该过滤器用于实现单点登出功能,可选配置。

-->

CASSingleSignOutFilter

org.jasig.cas.client.session.SingleSignOutFilter

CASSingleSignOutFilter

/*

--该过滤器负责用户的认证工作,必须启用它-->

CASAuthenticationFilter

org.jasig.cas.client.authentication.AuthenticationFilter

casServerLoginUrl

:

8443/cas/login

--这里的server是服务端的IP-->

org.jasig.cas.client.filter.validateUrl

:

8443/cas/serviceValidate

serverName

:

8080

--该过滤器负责对Ticket的校验工作,必须启用它-->

CASValidationFilter

org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter

casServerUrlPrefix

:

8443/cas

serverName

:

8080

--

该过滤器负责实现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

--自动根据单点登录的结果设置本系统的用户信息-->

AutoSetUserAdapterFilter

AutoSetUserAdapterFilter

com.jobcruzer.website.web.filter.AutoSetUserAdapterFilter

AutoSetUserAdapterFilter

/*

CASAuthenticationFilter

/*

CASValidationFilter

/*

CASHttpServletRequestWrapperFilter

/*

CASAssertionThreadLocalFilter

/*

--========================单点登录结束========================-->

--======================Filter映射====================-->

OpenSessionInViewFilter

/*

struts2CleanUpFilter

*.action

struts2Filter

*.action

--Spring的ApplicationContext载入-->

--对Spring容器进行实例化-->

org.springframework.web.context.ContextLoaderListener

--Spring刷新Introspector防止内存泄露-->

org.springframework.web.util.IntrospectorCleanupListener

--session超时定义,单位为分钟-->

30

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

当前位置:首页 > 解决方案 > 学习计划

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

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