Configuration Feature Toggles

You can control the list of auto-configuration classes to exclude them in the cas.properties file:

1
spring.autoconfigure.exclude=org.apereo.cas.custom.config.SomethingConfigurationClass

While the above allows control over individual auto-configuration classes, in some cases it may be desirable to entirely disable a feature altogether by excluding all applicable auto-configuration classes without having to identify all of them. This can be done using the following feature toggles:

Feature Property
ACME CasFeatureModule.ACME.enabled
AcceptableUsagePolicy CasFeatureModule.AcceptableUsagePolicy.jdbc.enabled
AcceptableUsagePolicy CasFeatureModule.AcceptableUsagePolicy.ldap.enabled
AcceptableUsagePolicy CasFeatureModule.AcceptableUsagePolicy.mongo.enabled
AcceptableUsagePolicy CasFeatureModule.AcceptableUsagePolicy.redis.enabled
AcceptableUsagePolicy CasFeatureModule.AcceptableUsagePolicy.rest.enabled
AcceptableUsagePolicy CasFeatureModule.AcceptableUsagePolicy.enabled
AccountRegistration CasFeatureModule.AccountRegistration.enabled
Audit CasFeatureModule.Audit.enabled
Audit CasFeatureModule.Audit.jdbc.enabled
Audit CasFeatureModule.Audit.dynamodb.enabled
Audit CasFeatureModule.Audit.mongo.enabled
Audit CasFeatureModule.Audit.redis.enabled
Audit CasFeatureModule.Audit.rest.enabled
Authentication CasFeatureModule.Authentication.aws-cognito.enabled
Authentication CasFeatureModule.Authentication.azuread.enabled
Authentication CasFeatureModule.Authentication.basic.enabled
Authentication CasFeatureModule.Authentication.cloud-directory.enabled
Authentication CasFeatureModule.Authentication.enabled
Authentication CasFeatureModule.Authentication.generic.enabled
Authentication CasFeatureModule.Authentication.gua.enabled
Authentication CasFeatureModule.Authentication.jdbc.enabled
Authentication CasFeatureModule.Authentication.mongo.enabled
Authentication CasFeatureModule.Authentication.okta.enabled
Authentication CasFeatureModule.Authentication.qr.enabled
Authentication CasFeatureModule.Authentication.redis.enabled
Authentication CasFeatureModule.Authentication.remote.enabled
Authentication CasFeatureModule.Authentication.rest.enabled
Authentication CasFeatureModule.Authentication.soap.enabled
Authentication CasFeatureModule.Authentication.syncope.enabled
Authentication CasFeatureModule.Authentication.token.enabled
Authentication CasFeatureModule.Authentication.trusted.enabled
Authentication CasFeatureModule.Authentication.cassandra.enabled
CAPTCHA CasFeatureModule.CAPTCHA.enabled
CasConfiguration CasFeatureModule.CasConfiguration.aws-s3.enabled
CasConfiguration CasFeatureModule.CasConfiguration.aws-secretsmanager.enabled
CasConfiguration CasFeatureModule.CasConfiguration.aws-ssm.enabled
CasConfiguration CasFeatureModule.CasConfiguration.enabled
CasConfiguration CasFeatureModule.CasConfiguration.dynamodb.enabled
CasConfiguration CasFeatureModule.CasConfiguration.gcp-secretsmanager.enabled
CasConfiguration CasFeatureModule.CasConfiguration.jdbc.enabled
CasConfiguration CasFeatureModule.CasConfiguration.mongo.enabled
CasConfiguration CasFeatureModule.CasConfiguration.rest.enabled
Consent CasFeatureModule.Consent.enabled
Consent CasFeatureModule.Consent.dynamodb.enabled
Consent CasFeatureModule.Consent.jdbc.enabled
Consent CasFeatureModule.Consent.ldap.enabled
Consent CasFeatureModule.Consent.mongo.enabled
Consent CasFeatureModule.Consent.redis.enabled
Consent CasFeatureModule.Consent.rest.enabled
Core CasFeatureModule.Core.aws.enabled
Core CasFeatureModule.Core.enabled
Core CasFeatureModule.Core.dynamodb.enabled
Core CasFeatureModule.Core.jmx.enabled
DelegatedAuthentication CasFeatureModule.DelegatedAuthentication.enabled
Discovery CasFeatureModule.Discovery.consul.enabled
Discovery CasFeatureModule.Discovery.enabled
Discovery CasFeatureModule.Discovery.eureka.enabled
Electrofence CasFeatureModule.Electrofence.enabled
Events CasFeatureModule.Events.enabled
Events CasFeatureModule.Events.dynamodb.enabled
Events CasFeatureModule.Events.memory.enabled
Events CasFeatureModule.Events.influxdb.enabled
Events CasFeatureModule.Events.jpa.enabled
Events CasFeatureModule.Events.mongo.enabled
Events CasFeatureModule.Events.redis.enabled
GeoLocation CasFeatureModule.GeoLocation.enabled
GeoLocation CasFeatureModule.GeoLocation.azure.enabled
GeoLocation CasFeatureModule.GeoLocation.maxmind.enabled
GeoLocation CasFeatureModule.GeoLocation.googlemaps.enabled
GeoLocation CasFeatureModule.GeoLocation.ip.enabled
GoogleAuthenticator CasFeatureModule.GoogleAuthenticator.enabled
GoogleAuthenticator CasFeatureModule.GoogleAuthenticator.dynamodb.enabled
GoogleAuthenticator CasFeatureModule.GoogleAuthenticator.jpa.enabled
GoogleAuthenticator CasFeatureModule.GoogleAuthenticator.ldap.enabled
GoogleAuthenticator CasFeatureModule.GoogleAuthenticator.mongo.enabled
GoogleAuthenticator CasFeatureModule.GoogleAuthenticator.redis.enabled
InterruptNotifications CasFeatureModule.InterruptNotifications.enabled
JDBC CasFeatureModule.JDBC.enabled
Jetty CasFeatureModule.Jetty.enabled
LDAP CasFeatureModule.LDAP.authentication.enabled
Logging CasFeatureModule.Logging.gcp.enabled
Logout CasFeatureModule.Logout.enabled
Metrics CasFeatureModule.Metrics.enabled
Monitoring CasFeatureModule.Monitoring.enabled
Monitoring CasFeatureModule.Monitoring.elastic.enabled
Monitoring CasFeatureModule.Monitoring.hazelcast.enabled
Monitoring CasFeatureModule.Monitoring.javamelody.enabled
Monitoring CasFeatureModule.Monitoring.jdbc.enabled
Monitoring CasFeatureModule.Monitoring.ldap.enabled
Monitoring CasFeatureModule.Monitoring.memcached.enabled
Monitoring CasFeatureModule.Monitoring.mongo.enabled
Monitoring CasFeatureModule.Monitoring.redis.enabled
Monitoring CasFeatureModule.Monitoring.sentry.enabled
MultifactorAuthentication CasFeatureModule.MultifactorAuthentication.enabled
MultifactorAuthentication CasFeatureModule.MultifactorAuthentication.inwebo.enabled
MultifactorAuthentication CasFeatureModule.MultifactorAuthentication.otp.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.dynamodb.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.gauth.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.jdbc.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.mongo.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.radius.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.redis.enabled
MultifactorAuthenticationTrustedDevices CasFeatureModule.MultifactorAuthenticationTrustedDevices.rest.enabled
Notifications CasFeatureModule.Notifications.aws-sns.enabled
Notifications CasFeatureModule.Notifications.clickatell.enabled
Notifications CasFeatureModule.Notifications.enabled
Notifications CasFeatureModule.Notifications.fcm.enabled
Notifications CasFeatureModule.Notifications.nexmo.enabled
Notifications CasFeatureModule.Notifications.sendgrid.enabled
Notifications CasFeatureModule.Notifications.slack.enabled
Notifications CasFeatureModule.Notifications.smsmode.enabled
Notifications CasFeatureModule.Notifications.textmagic.enabled
Notifications CasFeatureModule.Notifications.twilio.enabled
OAuth CasFeatureModule.OAuth.enabled
OAuth CasFeatureModule.OAuth.uma.enabled
OpenIDConnect CasFeatureModule.OpenIDConnect.enabled
OpenIDConnect CasFeatureModule.OpenIDConnect.jpa.enabled
Palantir CasFeatureModule.Palantir.enabled
PasswordManagement CasFeatureModule.PasswordManagement.jdbc.enabled
PasswordManagement CasFeatureModule.PasswordManagement.ldap.enabled
PasswordManagement CasFeatureModule.PasswordManagement.enabled
PasswordManagement CasFeatureModule.PasswordManagement.rest.enabled
PasswordlessAuthn CasFeatureModule.PasswordlessAuthn.jpa.enabled
PasswordlessAuthn CasFeatureModule.PasswordlessAuthn.ldap.enabled
PasswordlessAuthn CasFeatureModule.PasswordlessAuthn.mongo.enabled
PasswordlessAuthn CasFeatureModule.PasswordlessAuthn.enabled
PersonDirectory CasFeatureModule.PersonDirectory.enabled
Radius CasFeatureModule.Radius.enabled
RadiusMFA CasFeatureModule.RadiusMFA.enabled
Reports CasFeatureModule.Reports.enabled
RestProtocol CasFeatureModule.RestProtocol.enabled
RestProtocol CasFeatureModule.RestProtocol.tokens.enabled
SAML CasFeatureModule.SAML.enabled
SAMLIdentityProvider CasFeatureModule.SAMLIdentityProvider.enabled
SCIM CasFeatureModule.SCIM.enabled
SPNEGO CasFeatureModule.SPNEGO.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.s3.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.cosmosdb.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.dynamodb.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.git.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.gcp.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.jpa.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.json.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.ldap.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.mongo.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.redis.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.rest.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.yaml.enabled
ServiceRegistry CasFeatureModule.ServiceRegistry.cassandra.enabled
ServiceRegistryStreaming CasFeatureModule.ServiceRegistryStreaming.enabled
ServiceRegistryStreaming CasFeatureModule.ServiceRegistryStreaming.kafka.enabled
SessionManagement CasFeatureModule.SessionManagement.hazelcast.enabled
SessionManagement CasFeatureModule.SessionManagement.mongo.enabled
SessionManagement CasFeatureModule.SessionManagement.redis.enabled
SimpleMFA CasFeatureModule.SimpleMFA.enabled
SpringBootAdmin CasFeatureModule.SpringBootAdmin.enabled
SurrogateAuthentication CasFeatureModule.SurrogateAuthentication.jdbc.enabled
SurrogateAuthentication CasFeatureModule.SurrogateAuthentication.ldap.enabled
SurrogateAuthentication CasFeatureModule.SurrogateAuthentication.rest.enabled
Throttling CasFeatureModule.Throttling.bucket4j.enabled
Throttling CasFeatureModule.Throttling.hazelcast.enabled
Throttling CasFeatureModule.Throttling.jdbc.enabled
Throttling CasFeatureModule.Throttling.ldap.enabled
Throttling CasFeatureModule.Throttling.mongo.enabled
Throttling CasFeatureModule.Throttling.redis.enabled
Throttling CasFeatureModule.Throttling.enabled
Thymeleaf CasFeatureModule.Thymeleaf.enabled
TicketRegistry CasFeatureModule.TicketRegistry.amqp.enabled
TicketRegistry CasFeatureModule.TicketRegistry.enabled
TicketRegistry CasFeatureModule.TicketRegistry.cosmosdb.enabled
TicketRegistry CasFeatureModule.TicketRegistry.dynamodb.enabled
TicketRegistry CasFeatureModule.TicketRegistry.gcp.enabled
TicketRegistry CasFeatureModule.TicketRegistry.hazelcast.enabled
TicketRegistry CasFeatureModule.TicketRegistry.ignite.enabled
TicketRegistry CasFeatureModule.TicketRegistry.jpa.enabled
TicketRegistry CasFeatureModule.TicketRegistry.memcached.enabled
TicketRegistry CasFeatureModule.TicketRegistry.mongo.enabled
TicketRegistry CasFeatureModule.TicketRegistry.redis.enabled
TicketRegistry CasFeatureModule.TicketRegistry.stateless.enabled
TicketRegistry CasFeatureModule.TicketRegistry.cassandra.enabled
Tokens CasFeatureModule.Tokens.enabled
UMA CasFeatureModule.UMA.jpa.enabled
Undertow CasFeatureModule.Undertow.enabled
Validation CasFeatureModule.Validation.enabled
WebApplication CasFeatureModule.WebApplication.enabled
WebAuthn CasFeatureModule.WebAuthn.enabled
Webflow CasFeatureModule.Webflow.enabled
WsFederation CasFeatureModule.WsFederation.enabled
WsFederationIdentityProvider CasFeatureModule.WsFederationIdentityProvider.enabled
X509 CasFeatureModule.X509.enabled
X509 CasFeatureModule.X509.rest.enabled
YubiKey CasFeatureModule.YubiKey.dynamodb.enabled
YubiKey CasFeatureModule.YubiKey.jpa.enabled
YubiKey CasFeatureModule.YubiKey.mongo.enabled
YubiKey CasFeatureModule.YubiKey.redis.enabled
YubiKey CasFeatureModule.YubiKey.enabled
:information_source: Usage

Note that not every single CAS feature may be registered in the Feature Catalog and as such regarded as a standalone feature. The catalog continues to grow throughout the CAS release lifecycle to recognize more modules as grouped distinct features, allowing for a one-shop store to disable or enable a given CAS feature.

Note that the above setting enforces conditional access to the auto-configuration class where a whole suite of @Beans would be included or excluded in the application context upon initialization and startup. Conditional inclusion or exclusion of beans generally has consequences when it comes to @RefreshScope and supporting refreshable beans. Note that feature modules are not refreshable at this point; they are processed on startup and will either be included in the assembled application context or skipped entirely, depending on the result of the enforced condition.