use of org.apereo.cas.ticket.expiration.AlwaysExpiresExpirationPolicy in project cas by apereo.
the class BaseTicketRegistryTests method verifyExpiration.
@RepeatedTest(2)
public void verifyExpiration() throws Exception {
val authn = CoreAuthenticationTestUtils.getAuthentication();
LOGGER.trace("Adding ticket [{}]", ticketGrantingTicketId);
ticketRegistry.addTicket(new TicketGrantingTicketImpl(ticketGrantingTicketId, authn, NeverExpiresExpirationPolicy.INSTANCE));
LOGGER.trace("Getting ticket [{}]", ticketGrantingTicketId);
val tgt = ticketRegistry.getTicket(ticketGrantingTicketId, TicketGrantingTicket.class);
assertNotNull(tgt, () -> "Ticket-granting ticket " + ticketGrantingTicketId + " cannot be fetched");
val service = RegisteredServiceTestUtils.getService("TGT_DELETE_TEST");
LOGGER.trace("Granting service ticket [{}]", serviceTicketId);
val ticket = (AbstractTicket) tgt.grantServiceTicket(serviceTicketId, service, NeverExpiresExpirationPolicy.INSTANCE, false, true);
assertNotNull(ticket, "Service ticket cannot be null");
ticket.setExpirationPolicy(new AlwaysExpiresExpirationPolicy());
ticketRegistry.addTicket(ticket);
ticketRegistry.updateTicket(tgt);
assertNull(ticketRegistry.getTicket(serviceTicketId, ServiceTicket.class));
}
use of org.apereo.cas.ticket.expiration.AlwaysExpiresExpirationPolicy in project cas by apereo.
the class TicketGrantingTicketExpirationPolicyBuilder method toTicketGrantingTicketExpirationPolicy.
/**
* To ticket-granting ticket expiration policy.
*
* @return the expiration policy
*/
protected ExpirationPolicy toTicketGrantingTicketExpirationPolicy() {
val tgt = casProperties.getTicket().getTgt();
if (tgt.getPrimary().getMaxTimeToLiveInSeconds() <= 0 && tgt.getPrimary().getTimeToKillInSeconds() <= 0) {
LOGGER.warn("Ticket-granting ticket expiration policy is set to NEVER expire tickets.");
return NeverExpiresExpirationPolicy.INSTANCE;
}
if (tgt.getTimeout().getMaxTimeToLiveInSeconds() > 0) {
LOGGER.debug("Ticket-granting ticket expiration policy is based on a timeout of [{}] seconds", tgt.getTimeout().getMaxTimeToLiveInSeconds());
return new TimeoutExpirationPolicy(tgt.getTimeout().getMaxTimeToLiveInSeconds());
}
if (tgt.getThrottledTimeout().getTimeInBetweenUsesInSeconds() > 0 && tgt.getThrottledTimeout().getTimeToKillInSeconds() > 0) {
val p = new ThrottledUseAndTimeoutExpirationPolicy();
p.setTimeToKillInSeconds(tgt.getThrottledTimeout().getTimeToKillInSeconds());
p.setTimeInBetweenUsesInSeconds(tgt.getThrottledTimeout().getTimeInBetweenUsesInSeconds());
LOGGER.debug("Ticket-granting ticket expiration policy is based on throttled timeouts");
return p;
}
if (tgt.getHardTimeout().getTimeToKillInSeconds() > 0) {
LOGGER.debug("Ticket-granting ticket expiration policy is based on a hard timeout of [{}] seconds", tgt.getHardTimeout().getTimeToKillInSeconds());
return new HardTimeoutExpirationPolicy(tgt.getHardTimeout().getTimeToKillInSeconds());
}
if (tgt.getPrimary().getMaxTimeToLiveInSeconds() > 0 && tgt.getPrimary().getTimeToKillInSeconds() > 0) {
LOGGER.debug("Ticket-granting ticket expiration policy is based on hard/idle timeouts of [{}]/[{}] seconds", tgt.getPrimary().getMaxTimeToLiveInSeconds(), tgt.getPrimary().getTimeToKillInSeconds());
return new TicketGrantingTicketExpirationPolicy(tgt.getPrimary().getMaxTimeToLiveInSeconds(), tgt.getPrimary().getTimeToKillInSeconds());
}
LOGGER.warn("Ticket-granting ticket expiration policy is set to ALWAYS expire tickets.");
return new AlwaysExpiresExpirationPolicy();
}
use of org.apereo.cas.ticket.expiration.AlwaysExpiresExpirationPolicy in project cas by apereo.
the class BaseTicketRegistryTests method verifyExpiredTicket.
@RepeatedTest(2)
public void verifyExpiredTicket() throws Exception {
val authn = CoreAuthenticationTestUtils.getAuthentication();
ticketRegistry.addTicket(new TicketGrantingTicketImpl(ticketGrantingTicketId, authn, new AlwaysExpiresExpirationPolicy()));
var tgt = ticketRegistry.getTicket(ticketGrantingTicketId, TicketGrantingTicket.class);
assertNull(tgt);
}
use of org.apereo.cas.ticket.expiration.AlwaysExpiresExpirationPolicy in project cas by apereo.
the class TicketGrantingTicketExpirationPolicyBuilderTests method verifyAlways.
@Test
public void verifyAlways() {
val props = new CasConfigurationProperties();
props.getTicket().getTgt().getPrimary().setMaxTimeToLiveInSeconds(1);
props.getTicket().getTgt().getPrimary().setTimeToKillInSeconds(-1);
val builder = new TicketGrantingTicketExpirationPolicyBuilder(props);
assertTrue(builder.buildTicketExpirationPolicy() instanceof AlwaysExpiresExpirationPolicy);
}
Aggregations