我的场景是用户 A 已经登录“管理员”。用户 B 尝试以“admin”身份登录,customAuthenticationHandler 发现“admin”已登录并返回错误异常(此部分已完成)。
之后,如何注销 CAS 中的“admin”?
我的场景是用户 A 已经登录“管理员”。用户 B 尝试以“admin”身份登录,customAuthenticationHandler 发现“admin”已登录并返回错误异常(此部分已完成)。
之后,如何注销 CAS 中的“admin”?
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。