@Override
    protected Event doExecuteInternal(final RequestContext requestContext) {
        val svc = WebUtils.getRegisteredService(requestContext);
        if (svc != null) {
            val authentication = WebUtils.getAuthentication(requestContext);
            val service = WebUtils.getService(requestContext);
            val audit = AuditableContext.builder().service(service)
                .service(service)
                .authentication(authentication)
                .registeredService(svc)
                .build();
            return FunctionUtils.doUnchecked(() -> {
                val accessResult = this.registeredServiceAccessStrategyEnforcer.execute(audit);
                accessResult.throwExceptionIfNeeded();
                return success();
            });
        }
        return null;
    }
This is {@link SurrogateAuthorizationAction}.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-surrogate-webflow/src/main/java/org/apereo/cas/web/flow/action/SurrogateAuthorizationAction.java