CAS 单点登录

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

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

会员系统的单点登录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>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!--
该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。
比如AssertionHolder.getAssertion().getPrincipal().getName()。
-->
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- ======================== 单点登录结束 ======================== -->
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
payunum 2014-01-05
  • 打赏
  • 举报
回复
引用 1 楼 baohuan_love 的回复:
请参考http://blog.csdn.net/turkeyzhou/article/details/5509725
万分感谢。。。仔细看了下,受了点启示 应该是url-pattern的问题, 我在web.xml中配置的是/* 当访问我系统的登录界面时,会验证没有登录,然后重定向至登录界面,反复如此。。问题解决了 好开森。。
  • 打赏
  • 举报
回复
这个应该是你浏览器的问题。

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧