@Override public final boolean isExpired(final TicketState state) { final Set<TicketExpirationPolicyEvaluator> keys = this.evaluators.keySet(); for (final TicketExpirationPolicyEvaluator eval : keys) { if (eval.doesSatisfyTicketExpirationPolicy(getRequest(), state)) { logger.debug("Expiration policy evaluator [{}] satisfies this request", eval); final ExpirationPolicy policy = this.evaluators.get(eval); final boolean expired = policy.isExpired(state); logger.debug("Delegated to mapped expiration policy [{}], which indicates the ticket has " + (expired ? "" : "not ") + "expired", policy); return expired; } } logger.debug("Delegated to default expiration policy [{}]", this.defaultExpirationPolicy); return this.defaultExpirationPolicy.isExpired(state); }
@Override public boolean isExpired(final TicketState ticketState) { if (this.rememberMeExpirationPolicy != null && this.sessionExpirationPolicy != null) { final Boolean b = (Boolean) ticketState.getAuthentication().getAttributes(). get(RememberMeCredential.AUTHENTICATION_ATTRIBUTE_REMEMBER_ME); if (b == null || b.equals(Boolean.FALSE)) { LOGGER.debug("Ticket is not associated with a remember-me authentication. Invoking {}", sessionExpirationPolicy); return this.sessionExpirationPolicy.isExpired(ticketState); } LOGGER.debug("Ticket is associated with a remember-me authentication. Invoking {}", rememberMeExpirationPolicy); return this.rememberMeExpirationPolicy.isExpired(ticketState); } LOGGER.warn("No expiration policy settings are defined"); return false; }
@Override public final boolean isExpired() { final TicketGrantingTicket tgt = getGrantingTicket(); return this.expirationPolicy.isExpired(this) || (tgt != null && tgt.isExpired()) || isExpiredInternal(); }