...
Bloc de code |
---|
public class CasService { protected Logger log = Logger.getLogger(CasService.class); RestTemplate restTemplate; String casSsoSessionsUrl; String casDestroySsoSessionsUrl; public void setRestTemplate(RestTemplate restTemplate) { this.restTemplate = restTemplate; } public void setCasUrl(String casUrl) { casSsoSessionsUrl = casUrl + "/actuator/ssoSessions?type=ALLDIRECT"; casDestroySsoSessionsUrl = casUrl + "/actuator/ssoSessions/{ticketGrantingTicket}"; } public synchronized String destroySsoSessions(String login) { String message = ""; CasSsoSessions casSsoSessions = restTemplate.getForObject(casSsoSessionsUrl, CasSsoSessions.class); for(CasSsoSession casSsoSession : casSsoSessions.activeSsoSessions) { if(login.equals(casSsoSession.principal)) { log.info(String.format("Call Cas Destroy ticket %s for user %s", casSsoSession.principal, casSsoSession.ticketGrantingTicket)); Map<String, String> urlVariables = new HashMap<String, String>(); urlVariables.put("ticketGrantingTicket", casSsoSession.ticketGrantingTicket); CasSsoSessionDestroyResponse casSsoSessionDestroyResponse = restTemplate.postForObject(casDestroySsoSessionsUrl, null, CasSsoSessionDestroyResponse.class, urlVariables); log.info(String.format("CAS response : %s", casSsoSessionDestroyResponse.toString())); message += casSsoSessionDestroyResponse.toString() + "\n"; } } return message; } } |
...