java cas logout无效_java – CAS单点注销无效

我正在通过CAS在

Java EE环境中实现单点登录单一注销.

在身份验证方面,我有cas-server-webapp v4.0.1.然后是2个简单的Java Spring MVC web应用程序和cas-client-corev3.1.10.

没有关于单点登录的问题.如果我访问/ app1,我将被重定向到cas-server-webapp中的cas登录页面.用户传递输入后,我被重定向到/ app1正确验证.另外,如果我导航到/ app2,这个获取其身份验证票.到现在为止还挺好.

至于单点注销,也许我误解了doc:但这就是我所做的:

app1和app2分别为/ logout url映射一个Spring控制器:

@Controller

public class LogoutController {

@RequestMapping("/logout")

public String logout(HttpSession session){

session.invalidate();

return "redirect:https://cas-server-host:8443/cas/logout?service=http://cas-server-host:9080/cas1/action/index";

}

}

也就是说,我使http会话无效并重定向到cas服务器注销URL,以使票证失效.

在cas服务器日志中,我看到它会销毁TGT票证并向每个应用程序的CAS过滤器发送一个注销请求:

DEBUG [org.jasig.cas.CentralAuthenticationServiceImpl] -

DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] -

DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] -

DEBUG [org.jasig.cas.CentralAuthenticationServiceImpl] -

DEBUG [org.jasig.cas.logout.SamlCompliantLogoutMessageCreator] - @NOT_USED@ST-16-aXpUJpwO4MQ09caXZRKX-cas01.example.org]>

DEBUG [org.jasig.cas.logout.LogoutManagerImpl] -

DEBUG [org.jasig.cas.util.SimpleHttpClient] -

DEBUG [org.jasig.cas.logout.SamlCompliantLogoutMessageCreator] - @NOT_USED@ST-15-zaX6aojKs0PiggCles6J-cas01.example.org]>

DEBUG [org.jasig.cas.util.SimpleHttpClient] -

DEBUG [org.jasig.cas.logout.LogoutManagerImpl] -

DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] -

DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] -

DEBUG [org.jasig.cas.util.SimpleHttpClient] -

INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] -

=============================================================

WHO: audit:unknown

WHAT: TGT-9-inxrphuRfIFpkbPTvNf6v1bAx7RlR7IMeMUFU0aokNCdbZ43Ij-cas01.example.org

ACTION: TICKET_GRANTING_TICKET_DESTROYED

APPLICATION: CAS

WHEN: Tue Feb 10 12:18:20 CET 2015

CLIENT IP ADDRESS: 192.168.13.164

SERVER IP ADDRESS: 192.168.13.164

=============================================================

现在,假设我从/ cas1注销,我被发送回cas-server登录页面.如果没有再次登录,如果我访问/ app2,我可以导航这个应用程序,好像我仍然经过身份验证,我可以访问它的java.user.Principal和session.这怎么可能? / app2中收到的注销请求是否应该销毁了Principal和http会话?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值