CAS Logout是一个非常费解的问题,
广州UG版,网友不停问为什么CAS Logout后,仍然能够访问应用?
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=29304&threadID=37715&messageID=221727#221727假设有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了。
分享到:
相关推荐
phpCAS源码以及调用示例(redis管理session,解决无法logout的问题)
-- CAS logout--> <bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter"> ${cas.logout.url}"/> </bean> <!-- CAS认证过滤器 --> ...
其中shiro.loginUrl 跟 shiro.logoutUrl的前面是cas验证的地址,后面的是我们应用系统的地址,这样配置的方式是为了在访问我们的应用系统的时候,先到cas进行验证,如果验证成功了,cas将重定向到shiro.successUrl ...
<param-value>http://192.168.156.120:8080/cas/logout</param-value><!--server cas 地址--> <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 --> org.jasig.cas.client.session....
Administrator auto logOUT
cas-overlay-template-5.3 cas 5.3版本服务器模版
bash.bash_logout888
Laravel开发-logout-plugin 指定时间后自动注销已验证的后端用户。
flex中的login,logout示例.本文是从网上搜集来的资源,现转载。
cas多服务器集群及客户端程序 服务器运行run.bat即启动 客户端通过 Client.login() Client.logout() Client.touch() Client.changePassword() 调用 通过telnet可以控制服务器重启(输入R)和停止(输入S)
mac logout 代码,系统注销后,清理2桌面上的文件
logout :使用Koa服务器取消对客户端的身份验证,然后将其重定向到CAS注销页面。 安装 npm install koa2-cas 设置 import Cas from 'koa2-cas' const cas = new Cas ( { cas_url : 'https://my-cas-host.com/cas' ...
logout :使用Express服务器取消对客户端的身份验证,然后将其重定向到CAS注销页面。 安装 npm install cas-authentication 设置 var CASAuthentication = require ( 'cas-authentication' ) ; var cas = new ...
logout神秘
这里目前有效: 基本工作流程(/login、/validate、/serviceValidate) 信任身份验证(默认禁用) /logout(暂时没有 SLO) 准确的服务主机的简单白名单(通配符可能有一天会出现) REST API CAS代理简单实现中间件...
logout.jsp
卡索该项目将是 Casable 项目,使 NodeJS express 应用程序能够使用 CAS 进行身份验证。 用途: var cas = require('casable');...只需定义这样的URL即可注销功能app.get('/logout', auth, function(request, res
logout.php
用SpringSecurity原生的logout实现功能,具体讲解可参考: https://blog.csdn.net/u012329294/article/details/105382239