package org.apereo.cas.validation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Validation specification for the CAS 2.0 protocol. This specification extends * the Cas20ProtocolValidationSpecification, checking for the presence of * renew=true and if requested, succeeding only if ticket validation is * occurring from a new login. Additionally, this specification will not accept * proxied authentications. * * @author Scott Battaglia * @since 3.0.0 */ public class Cas20WithoutProxyingValidationSpecification extends AbstractCasProtocolValidationSpecification { private static final Logger LOGGER = LoggerFactory.getLogger(Cas20WithoutProxyingValidationSpecification.class); /** * Instantiates a new cas20 without proxying validation specification. */ public Cas20WithoutProxyingValidationSpecification() { super(); } /** * Instantiates a new cas20 without proxying validation specification. * * @param renew the renew */ public Cas20WithoutProxyingValidationSpecification(final boolean renew) { super(renew); } @Override protected boolean isSatisfiedByInternal(final Assertion assertion) { LOGGER.debug("Number of chained authentications in the assertion [{}]", assertion.getChainedAuthentications().size()); return assertion.getChainedAuthentications().size() == 1; } }