`
- 浏览:
226668 次
- 性别:
- 来自:
沈阳
-
原文:http://www.blogjava.net/security/archive/2006/09/07/CAS_Logout_Problem.html
假设有webapp1, webapp2, cas server,webapp1, webapp2均受cas server保护
首先,我在这里简单解释一下:
第1种不能logout的情况:
1)登录了WebApp1,redirect到caserver
casserver认证后,再redirect到webapp1,ok!
2)http方式 lougout casserver1,即http://yale_casserver:8080/cas/lougout
显示logout成功
3)访问webapp2,还能访问!这是非常正常的一种情况,因为你不通过https来注销,casserver怎么"杀"掉
它通过https发给你的TGC Cookie?
第2种不能logout的情况:
1)登录了WebApp1,redirect到caserver
casserver认证后,再redirect到webapp1,ok!
2)https方式 lougout casserver1,即https://yale_casserver:8443/cas/lougout
显示logout成功
3)访问webapp1,还能访问!访问webapp2,不能访问,重定向到casserver要求登录!这也是非常正常的一种情况,因为你已经能够访问,你继续可以继续访问,
CASLogout不能阻止你访问webapp1,它只能阻止你访问webapp2,因为你已经
被允许访问webapp1,而webapp2则还没有,如果你在(1)的时候,顺带也访问
webapp2,那么你的注销将毫无作用了,CAS无法阻止你访问这两个webapp,
因为你有Service Ticket。
如果你对此费解,那时因为你已为Logout就是退出系统,那我只能表示遗憾,
因为CAS Logout的作用不是这样,它的作用是阻止你继续通过TGC(它简单地
清楚了IE的TGC Cookie)来获取ST,阻止你获取通向其他web应用的Ticket。
所以,用完webapp1的时候,注销,然后再关闭掉IE就彻底Logout了。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文将深入探讨phpCAS的源码和调用示例,特别是在使用Redis管理session以及解决无法正常logout问题方面的应用。 首先,理解phpCAS的工作原理至关重要。phpCAS是一个基于PHP的客户端库,它遵循CAS协议与CAS服务器...
-- CAS logout--> <bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter"> ${cas.logout.url}"/> </bean> <!-- CAS认证过滤器 --> ...
CAS 协议 票据、url 介绍,包括 cas1.0 和 cas2.0 CAS 协议是一个基于 HTTP 的协议,分为两部分:票据(Ticket)和 URL。CAS 协议的主要目的是提供单点登录(SSO)功能,实现用户的身份验证和授权。 票据(Ticket...
- `logoutUrl`: CAS提供的注销地址,用于用户退出登录。 #### 四、配置系统“Forms”参数 接下来,需要配置.NET系统中的“Forms”认证模式,以便更好地与CAS集成。具体配置如下: ```xml ~/Login.aspx" ...
在这个“cas4.0.7+casClient示例(原生)”中,我们将深入探讨如何配置和使用CAS 4.0.7版本与原生的CAS客户端进行集成,以及如何结合数据库实现完整的前后端解决方案。 **1. CAS 4.0.7简介** CAS 4.0.7是CAS服务器...
'logout_url' => 'https://your_cas_server/logout', ], 'proxy' => false, 'validate_cert' => false, ]; ``` 确保将`your_cas_server`替换为实际的CAS服务器地址。 **4. 中间件与身份验证** 在`app/...
- **/logout**:销毁CAS会话,实现用户登出。 - **/validate**:服务Ticket验证(CAS 1.0)。 - **/serviceValidate**:服务Ticket验证(CAS 2.0/3.0)。 - **/proxyValidate**:代理Ticket验证(CAS 2.0/3.0)。 - ...
在描述中提到的“CAS单点登出问题及解决”,暗示了在实际操作中可能会遇到一些挑战,比如跨域问题、登出通知不及时等,需要通过特定的技术手段来解决。在这个过程中,通常会涉及到以下三个关键类: 1. **Simple...
- `cas.logout-url`:用户登出的URL。 - `cas.server-tickets-ssl-verification`:是否启用SSL证书验证。 4. **SSO流程**: - 用户尝试访问受保护的资源。 - 客户端检测到用户未登录,将请求重定向到CAS服务器...
.logout().disable() .csrf().disable() .addFilterBefore(casAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class); } @Bean public CasAuthenticationFilter casAuthenticationFilter() {...
同时,开启`phpCAS`的调试模式有助于定位问题。 总结来说,`phpCAS`为Laravel项目提供了一种安全、便捷的方式来实现单点登录。通过正确的集成和配置,开发者可以在不牺牲用户体验的同时,确保应用的安全性。理解`...
### 使用 CAS 实现 Mantis 单点登录与登出 #### 概述 单点登录(Single Sign-On,简称 SSO)是一种常见的身份认证模式,它允许用户在多个应用程序和服务中仅通过一次登录就能访问所有相关系统而无需多次输入密码。...
5. /logout:用于处理用户的登出操作,包括参数传递和响应结果。 6. /validate:是旧版的验证接口,以向后兼容的方式保留。 除了上述接口,CAS协议3.0还定义了CAS实体,这些实体包括: 1. Service Ticket(服务...
7. **中断CAS连接**:使用`phpCAS::logout()`方法可以断开与CAS服务器的连接,同时清除会话信息并重定向到CAS登出页面。 安装和使用phpCas时,你需要确保你的PHP环境满足其依赖条件,比如PHP版本和cURL扩展。你还...
4. **单点登出(Single Logout,SLO)**:CAS 客户端支持单点登出功能,当用户在 CAS 服务器上注销时,所有已认证的服务也会同步注销该用户。 5. **服务验证**:CAS 客户端通过获取并验证从 CAS 服务器返回的票证...
6. **配置SLO(Single Logout)**:除了SSO,CAS还支持SLO,即单点注销。配置客户端应用以支持SLO,当用户在任一应用中注销时,所有其他已登录的应用也将同步注销。 7. **票证验证**:客户端应用需要配置票证验证,...
在提供的代码示例中,`jadyer`博主可能详细解释了如何配置这些步骤,并给出了具体的代码实现。通过阅读他的博客和解压文件中的代码,你可以更深入地理解这个过程,并根据自己的项目需求进行调整。 总的来说,配置...
在 CAS 服务器端,配置 `casServerLogoutUrl`,而在 Shiro 中,添加 `logoutFilter` 并设置其 `logoutUrl`。 5. **自定义 Shiro 控制器** - 在 Spring MVC 或其他 Web 框架中,你可以创建一个 Shiro 控制器来处理 ...
- **登出**:单点登出(Single Logout, SLO)需要确保用户在一处登出时,其他所有已登录的资源也同时失效。CAS支持SLO,客户端需要正确处理登出请求和清除本地会话。 - **测试**:对SSO系统进行全面的功能和安全测试...
### CAS (Central Authentication Service) 服务端核心接口详解 #### 概述 CAS(Central Authentication Service)是一种开源的单点登录(Single Sign-On, SSO)协议和服务框架,主要用于简化跨多个应用程序的安全...