日期:2014-05-18  浏览次数:20886 次

CAS 单点登录
请教下大家, 小弟最近在做一个项目,项目需要与公司的会员系统单点登录集成。(会员系统的用户可以访问我们的系统)

问题是,如果用户需要访问我们系统,如果没有登录,会跳转到会员系统那边的登录界进行登录。
现在我们想在自己的登录界面进行登录,用户验证去会员系统那边进行验证,这个该怎么实现呢。

会员系统的单点登录server端他们已经实现了,不需要我们进行配置

我在web.xml中配置了单点登录后,一直出现“此网页包含重定向循环”不知道是什么情况。 有没有人遇到过这样的问题,该怎么解决呢。

web.xml配:

<!-- ======================== 单点登录开始 ======================== -->
<!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

<!-- 该过滤器用于实现单点登出功能,可选配置。 -->
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>

                               、、这里是我们系统的登录界面
<param-value>http://localhost:18080/CRM/login.jsp</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>

                                、、我们系统的IP 端口
<param-value>http://localhost:18080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
<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>

                                、、 CAS 验证服务器
<param-value>https://demo.micmiu.com:8443/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>

                                   、、 、、 CAS 验证服务器IP 端口
<param-value>https://demo.micmiu.com:8443</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!--
该过滤器负责实现HttpServletRequest请求的包裹,
比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
-->
<filter>