WORKERS AHEAD!
You are viewing the development documentation for the Apereo CAS server. The functionality presented here is not officially released yet. This is a work in progress and will be continually updated as development moves forward. You are most encouraged to test the changes presented.
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.javers.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
|
Authorization
|
CasFeatureModule.Authorization.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
|
DelegatedAuthentication
|
CasFeatureModule.DelegatedAuthentication.cas.enabled
|
DelegatedAuthentication
|
CasFeatureModule.DelegatedAuthentication.oidc.enabled
|
DelegatedAuthentication
|
CasFeatureModule.DelegatedAuthentication.saml.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.aws.enabled
|
Monitoring
|
CasFeatureModule.Monitoring.enabled
|
Monitoring
|
CasFeatureModule.Monitoring.elastic.enabled
|
Monitoring
|
CasFeatureModule.Monitoring.hazelcast.enabled
|
Monitoring
|
CasFeatureModule.Monitoring.jaeger.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.ses.enabled
|
Notifications
|
CasFeatureModule.Notifications.aws-sns.enabled
|
Notifications
|
CasFeatureModule.Notifications.clickatell.enabled
|
Notifications
|
CasFeatureModule.Notifications.enabled
|
Notifications
|
CasFeatureModule.Notifications.fcm.enabled
|
Notifications
|
CasFeatureModule.Notifications.mailjet.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
|
PasswordlessAuthnSurrogateAuthentication
|
CasFeatureModule.SurrogateAuthentication.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
|
Scripting
|
CasFeatureModule.Scripting.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.kafka.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
|
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 @Bean
s 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.