0

我的场景是用户 A 已经登录“管理员”。用户 B 尝试以“admin”身份登录,customAuthenticationHandler 发现“admin”已登录并返回错误异常(此部分已完成)。

之后,如何注销 CAS 中的“admin”?

4

1 回答 1

0
        List<Ticket> list = new ArrayList<Ticket>();
        list.addAll(ticketRegistry.getTickets());
        for( Ticket x : list )
        {
            TicketGrantingTicketImpl ticket = (TicketGrantingTicketImpl) x;
            String name = ticket.getAuthentication().getPrincipal().getId();
            if(username.equals(name))
            {
                logoutManager.performLogout(ticket);
            }
        }

获取ticketRegistry 和logoutManager,找出名称并执行logout。

于 2015-03-19T06:32:32.163 回答