CAS4搭建HTTP环境
来源:互联网 发布:通达信炒股软件官网 编辑:程序博客网 时间:2024/05/16 07:49
1. 前言
CAS 默认认证方式使用的是HTTPS协议,一般对安全性不高的话建议取消改成HTTP方式。因为,开启的话会经常提示证书过期、需要用户确认等,客户觉得CAS证书的提示太烦了,当前有需要的可以开启HTTPS。
所以,本文会逐步介绍取消HTTPS协议的方法。
2. CAS-SERVER服务端
取消HTTPS协议,需要修改3个配置文件。
(1) cas-server\WEB-INF\deployerConfigContext.xml
<!--Required for proxy ticket mechanism. -->
<beanid="proxyAuthenticationHandler"
class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient"/>
增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。修改后为:
<beanid="proxyAuthenticationHandler"
class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient"
p:requireSecure="false" />
(2) cas-server\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml
<beanid="ticketGrantingTicketCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
修改 p:cookieSecure="true" 为p:cookieSecure="false",即不开启https验证。
(3) cas-server\WEB-INF\spring-configuration\ warnCookieGenerator.xml
<beanid="warnCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true"
p:cookieMaxAge="-1"
p:cookieName="CASPRIVACY"
p:cookiePath="/cas" />
修改 p:cookieSecure="true" 为p:cookieSecure="false",即不开启https验证。
CAS4的默认用户配置在 deployerConfigContext.xml配置文件中,用户名密码为casuser/Mellon。
3. CAS-CLIENT-客户端
配置CAS客户端,只修改WEB-INF\web.xml文件即可。
<!--========================单点登录开始======================== -->
<!--用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->
<listener>
<listener-class>
org.jasig.cas.client.session.SingleSignOutHttpSessionListener
</listener-class>
</listener>
<!--该过滤器用于实现单点登出功能,可选配置。 -->
<filter>
<filter-name>CASSingle SignOutFilter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CASSingle SignOutFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>
org.jasig.cas.client.authentication.AuthenticationFilter
</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>http://localhost:18080/cas-server/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8081</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--该过滤器负责对Ticket的校验工作,必须启用它 -->
<filter>
<filter-name>CASValidationFilter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://localhost:18080/cas-server</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8081</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASValidationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->
<filter>
<filter-name>CASHttpServletRequestWrapperFilter</filter-name>
<filter-class>
org.jasig.cas.client.util.HttpServletRequestWrapperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>CASHttpServletRequestWrapperFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 -->
<filter>
<filter-name>CASAssertion ThreadLocalFilter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CASAssertion ThreadLocalFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ========================单点登录结束 ======================== -->
4. 补充说明
单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
如果需要应用到项目中,还需要许多个性化的订制,比如登陆页的美化、通过数据库认证、服务端与客户端用户信息的交互等。
cas/WEB-INF/view/jsp/default/ui的一些JSP文件,每一个文件的用途文件名已经区分了:
l 登录界面:casLoginView.jsp
l 登录成功:casGenericSuccess.jsp
l 登出界面:casLogoutView.jsp
- CAS4搭建HTTP环境
- CAS4.0之环境搭建
- 【SSO单点系列】(1):CAS4.0 环境的搭建
- 【SSO单点系列】(1):CAS4.0 环境的搭建
- 【SSO单点系列】(1):CAS4.0 环境的搭建
- SSO 单点登录 CAS4.0 环境的搭建
- 单点登录cas综述之cas4.2.7服务端+cas客户端+示例程序+环境搭建说明-陈杰
- cas4.2.x修改支持http协议
- CAS4.0 4.1 服务器端搭建(一)
- CAS4.0 4.1 服务器端搭建(二)
- cas4.1证书生成,服务端搭建,注意事项
- CAS4.0 - 使用http做单点登录失败
- Windows环境下搭建Subversion http服务器
- 搭建FTP服务 搭建Http静态服务器环境
- linux 下 搭建 https 环境 http协议转https
- Android使用KSWEB搭建HTTP/WEB服务器环境
- windows下搭建apache http server、php、mysql开发环境
- Andriod SDK和Loadrunner的HTTP协议测试环境搭建
- 随笔
- CodeForces 366A - Dima and Guards
- 非常好的javaweb总结
- JAVA线程同步中wait()和notify()简洁例子
- 巧用虚拟机 用Windows开发苹果应用
- CAS4搭建HTTP环境
- 谈网站域名,备案到上线
- matlab如何化简表达式/多项式?
- 黑马程序员------IO流之(读取与写入)转换流应用
- 工具场景化--非常小的点做到非常cool的体验
- Poj 1201 差分约束问题 详解
- 关于left join,right join,inner join
- Python @property
- mysql的查询、子查询及连接查询