package org.apereo.cas.web.landtool.single.listener;
|
|
import org.apereo.cas.support.events.CasTicketGrantingTicketCreatedEvent;
|
import org.apereo.cas.ticket.TicketGrantingTicket;
|
import org.apereo.cas.web.landtool.single.service.SingleLoginService;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.event.EventListener;
|
import org.springframework.scheduling.annotation.Async;
|
|
/**
|
* @author Tanbin
|
* @date 2018-11-30
|
*/
|
public class TgtCreateEventListener {
|
private static final Logger LOGGER = LoggerFactory.getLogger(TgtCreateEventListener.class);
|
|
@Autowired
|
private SingleLoginService singleLoginService;
|
|
public TgtCreateEventListener() {
|
|
}
|
|
/**
|
* 判断用户是否退出,若无则踢出
|
* @param event
|
*/
|
@EventListener
|
@Async
|
public void onTgtCreateEvent(CasTicketGrantingTicketCreatedEvent event) {
|
TicketGrantingTicket tgt = event.getTicketGrantingTicket();
|
if(singleLoginService.singleLoginProperties.isKickOut()) {
|
singleLoginService.kickOutOldLogins(tgt);
|
} else {
|
LOGGER.warn("##### 当前配置了[不踢出同一用户上次未退出的登录]!");
|
}
|
}
|
}
|