我的方案是用户A已登录“admin”。用户B尝试以“admin”身份登录,customAuthenticationHandler发现“admin”已登录并返回错误异常(此部分已完成)。
之后,如何在CAS中注销“admin”?
答案 0 :(得分: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,找出名称并执行loginLogout。