protected boolean shouldSkipInterruptForPrincipalAttributes(final WebBasedRegisteredService registeredService,
                                                                final Authentication authentication) {
        val policy = registeredService.getWebflowInterruptPolicy();
        if (StringUtils.isBlank(policy.getAttributeName()) || StringUtils.isBlank(policy.getAttributeValue())) {
            return false;
        }
        
        val instance = SpringExpressionLanguageValueResolver.getInstance();
        val attributeName = instance.resolve(policy.getAttributeName());
        val attributeValue = instance.resolve(policy.getAttributeValue());

        val attributes = new HashMap<>(authentication.getAttributes());
        attributes.putAll(authentication.getPrincipal().getAttributes());

        val attributeToMatch = RegexUtils.findFirst(attributeName, attributes.keySet());
        LOGGER.trace("Checking attribute [{}] to match [{}] in current set of attributes [{}]",
            attributeToMatch, attributeValue, attributes);
        return attributeToMatch
            .filter(attributes::containsKey)
            .map(attributes::get)
            .flatMap(values -> RegexUtils.findFirst(attributeValue, values))
            .stream()
            .findFirst()
            .isEmpty();
    }
This is {@link InquireInterruptAction}.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-interrupt-webflow/src/main/java/org/apereo/cas/interrupt/webflow/actions/InquireInterruptAction.java