原帖[url] http://blog.csdn.net/yys79/article/details/6456915[/url]
客户觉得cas证书的提示太烦了,想去掉,又不想花钱认证证书,这两天闲暇之时看了一下最新的cas文章,自己也配置了一套apache2.2+ Tomcat7+casserver 3.4.8+Casclient3.2的配置,实现了负载均衡下Tomcat集群中的Cas认证,并使用了https的方式和http认证都通过验证。
首先下载cas服务端和客户端,这个不说了。然后将casserver包中的.war文件复制到webapps目录下,改名为cas,这个部署也就这么回事了。及其简单,可以使用用户名密码一样的方式来登录了。
1.首先从casserver 3.4.8的压缩包里把他的war包copy出来,直接解包,修改文件夹名为cas,复制到tomcat的webapps目录,这一步非常简单,启动tomcat后就可以访问这个应用了。
2.不采用https验证,服务器端需要配置
修改第一处:
cas/WEB-INF/deployerConfigContext.xml
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient"/>
增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。修改后为:
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" p:requireSecure="false"/>
修改第二处:
cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
参数p:cookieSecure="true",同理为HTTPS验证相关,TRUE为采用HTTPS验证,FALSE为不采用https验证。
参数p:cookieMaxAge="-1",简单说是COOKIE的最大生命 周期,-1为无生命周期,即只在当前打开的IE窗口有效,IE关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于0的数字,比如3600等, 意思是在3600秒内,打开任意IE窗口,都不需要验证。
这里把 cookieSecure修改为false就行了
3.修改客户端应用的web.xml,增加如下filter和mapping
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>
org.jasig.cas.client.authentication.AuthenticationFilter
</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>
http://localhost:8080/cas/login
</param-value>
</init-param>
<init-param>
<param-name>renew</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>gateway</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8080</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://localhost:8080/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8080</param-value>
</init-param>
<init-param>
<param-name>useSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>redirectAfterValidation</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.HttpServletRequestWrapperFilter
</filter-class>
</filter>
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.AssertionThreadLocalFilter
</filter-class>
</filter>
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
里面的localhost在发布环境下应修改为实际的服务器IP地址或域名。8080为端口号,如果只用tomcat,则可以这样设置,如果使用apache和80端口,那:8080 可以去掉.至于配置apache和tomcat集群,可以看我关于apache配置的文章。
在配置上单独用tomat和使用apache+tomcat也就是端口号上的区别,apache将请求转发到tomcat后,实际上就由tomcat来处理了,apache不会拦截什么的。
在cas客户端应用的web-inf/lib下,放入cas-client-core-3.2.0.jar文件,这需要去cas官方网站下载。
这样就ok了。
还有,如果想使用安全证书的话,那需要开启apache的https。需要从apache官方下载带ssl的apache,安装好以后,在httpd.conf里增加ssl配置:Include conf/extra/httpd-ssl.conf,那里面的配置我想不复杂,大家都看得懂。生成 证书 时,让你输入名字的时候,一定要输入域名,因为https信任域名,不信任ip的。这个证书也不需要在jre里配置,只需要在apache里配置,也就是那个 conf/extra/httpd-ssl.conf文件,主要就是证书证书文件名。生成的证书文件要注意,字节数千万不能是0,那表示生成失败,生成时仔细看一下就能看到是否有错误。。
分享到:
相关推荐
当我们提到“取消HTTPS协议”时,这通常涉及到在CAS服务器配置中移除或禁用HTTPS,以便在非加密的HTTP协议下运行。这可能是出于测试、开发环境的需求,或者在某些特殊情况下,如网络限制或性能优化考虑。 【描述】...
- 配置`deployerConfigContext.xml`:取消`SimpleTestUsernamePasswordAuthenticationHandler`的注释,启用`QueryDatabaseAuthenticationHandler`,以查询数据库进行身份验证。同时,添加一个数据源`dataSource`,...
"CAS取消https认证的方式 - zzxplayful - JavaEye技术网站.mht"可能讨论了这个话题,解释了何时何地以及如何调整CAS的配置以适应不同的安全策略。 这些笔记资料涵盖了CAS从基础到进阶的多个方面,对于开发者来说,...
具体来说,需要取消以下配置段的注释,并添加SSL相关设置: ```xml maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:/keys/smallkey" keystorePass=...
5. **证书生成**:为了实现安全的HTTPS通信,需要生成一对公钥和私钥,并配置到服务器的Keystore中。 6. **部署CAS Server**:将修改后的CAS Server应用打包成WAR文件,然后将其放入Tomcat的`webapps`目录下,启动...
对于CAS服务器,配置主要集中在取消SSL证书和使用HTTP协议上。在`cas-server-webapp`的`/WEB-INF/spring-configuration`目录下,有两个文件需要调整: 1. `ticketGrantingTicketCookieGenerator.xml`:在这里,我们...
综上所述,将CAS 4.1.4版本与Oracle数据库集成并改用HTTP通信,涉及到CAS服务器配置、Oracle JDBC驱动的添加、HTTPS的移除以及证书验证的禁用等多个步骤。每个步骤都需要谨慎处理,确保系统的稳定性和安全性。在实际...
- 由于默认情况下CAS服务器使用HTTPS,但为了简化配置,我们将取消此要求。你需要编辑以下三个文件: - `cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml` - `cas\WEB-INF\spring-...
具体配置步骤未在提供的内容中详细说明,但通常会涉及修改CAS Server和Client之间的通信协议,如从HTTPS改为HTTP,取消或禁用SSL相关设置。 在实际操作中,带证书的配置方法提供了更强的安全性,通过SSL/TLS协议...
对服务端的Tomcat服务器进行SSL相关配置,以支持HTTPS通信,确保数据传输的安全性。 - 打开`Tomcat安装路径/conf/server.xml`文件,在第95行左右取消`一行的注释,启用SSL端口。 #### 四、总结 通过上述步骤,...
#### 二、取消HTTPS支持 对于某些应用场景而言,可能出于性能或其他考虑不希望使用HTTPS。在CAS中,默认情况下是要求HTTPS的,但可以通过以下步骤取消这一限制: 1. **配置CAS属性文件**: - 打开`cas.properties...
在"搭建HTTPS+发布CAS.avi"视频中,会详细介绍如何设置安全的HTTPS环境,以及如何部署和配置CAS服务器,确保通信过程的安全性。HTTPS是HTTP协议的安全版本,通过SSL/TLS加密,能有效防止中间人攻击,为SSO提供基础...
- **多台 CAS 服务器的同步配置**:若存在多台 CAS 服务器,则每台服务器均需按照上述步骤进行相同的配置,以确保所有服务器都能正确处理重定向请求。 #### 五、总结 通过上述步骤,可以有效地实现 Exchange 2010 ...
1. **编辑配置文件**:打开Tomcat安装路径下的`conf/server.xml`文件,在大约第95行处取消对`<Connector>`标签的注释,启用SSL支持。 ```xml ``` 这里的`8443`是HTTPS端口号。 2. **配置SSL参数**:根据实际...
- 通过 Exchange Shell 取消首次登录时的时区选择。 - 使用 `Get-Mailbox` 命令获取邮箱列表,并通过 `Set-MailboxRegionalConfiguration` 命令设置时区为中国标准时间 (China Standard Time) 和语言 (zh-cn),...
- 为安装了客户端访问服务器(CAS)角色的Exchange服务器分配一个新的IP地址,专门用于内部站点。 - 在内部DNS服务器上添加一个正向解析记录,设置一个内网域名,例如***。 - 在服务器上创建一个新的目录,路径为c:\...