Class SystemProperties
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final BooleanSystemPropertyThis property disables the caching performed by GroupUserCache.static final BooleanSystemPropertyEnables Crowd advanced PBKDF2-HMAC-SHA512 password encoder with 210,000 iterationsstatic final BooleanSystemPropertyWhen set to true Crowd will match users with duplicated external ids by names, instead of failing sync.static final DurationSystemPropertyWhen set to an integer, Crowd web application /status endpoint will memoize database health check for a provided number of seconds instead of the default valuestatic final BooleanSystemPropertystatic final BooleanSystemPropertySetting this to "true" enables the special character (_) escapingstatic final BooleanSystemPropertyControls defaulting to licensed access when there is no annotation Note: atlassian-rest is controlled by a separate flag.static final BooleanSystemPropertySince Crowd 4.4, Crowd does NOT allow external apps to change e-mail of user.static final IntegerSystemPropertySets cache size of DirectoryManager in the EventTransformerstatic final BooleanSystemPropertyEnables HSQL specific "no data" log suppressing filterstatic final BooleanSystemPropertyAllows skipping legacy HSQL condition check for automatic upgradestatic final BooleanSystemPropertyWhen set to true, Crowd will addAdditionalHeaders.HEADER_X_AAPPNAMEheader containing application name of application making REST requests to Crowd.static final BooleanSystemPropertyWhen set to true, Crowd will addAdditionalHeaders.HEADER_X_AUSERNAMEheader containing username of logged in user for all HTTP requests (including REST).static final BooleanSystemPropertyFor the XML membership rest endpoint (i.e.static final BooleanSystemPropertyControls enabling of handling security annotations on plugin actions, servlets and filtersstatic final BooleanSystemPropertyEnables batching of requests to verify if a user or group is a direct member of a parent group when determining recreated memberships during incremental synchronisation.static final BooleanSystemPropertyControls enabling of handling security annotations on struts actions, servlets and filters Note: atlassian-rest is controlled by a separate flag.static final BooleanSystemPropertyDetermines whether the caching of AccessTypes for servlet methods is enabled.static final BooleanSystemPropertyEnables swallowing exceptions and returning empty results in the directory search methods.static final BooleanSystemPropertyFor Active Directory, the incremental sync of users comes in two flavors: Legacy mode - based on usnChanged attribute only 'bulletproof' mode (default) - using both usnChanged and ObjectGUID diff between internal and remote directorystatic final BooleanSystemPropertyFor the internal full synchronisation process (from Active Directory to Crowd database tables), this property defines whether membership details should be retrieved up-front. -
Method Summary
Modifier and TypeMethodDescriptionstatic BooleanSystemPropertycreateBooleanSystemProperty(String propertyName, boolean defaultForCrowd, boolean defaultForNonCrowd) Creates system property with separate default values for Crowd and other products.
-
Field Details
-
INCLUDE_USERNAME_HEADER_IN_RESPONSES
When set to true, Crowd will addAdditionalHeaders.HEADER_X_AUSERNAMEheader containing username of logged in user for all HTTP requests (including REST). This header can be utilized in Tomcat's access logs. -
INCLUDE_APPNAME_HEADER_IN_RESPONSES
When set to true, Crowd will addAdditionalHeaders.HEADER_X_AAPPNAMEheader containing application name of application making REST requests to Crowd. This header can be utilized in Tomcat's access logs. -
MEMBERSHIPS_SYNC_IMPROVEMENT_ENABLED
For the XML membership rest endpoint (i.e. outgoing membership), this property defines whether the optimized version of synchronization should be used.From manual tests of an application with 1M users in 4 directories enabling this feature saves ~2h time of full synchronisation of memberships and increases memory consumption by ~300MB.
-
USE_LEGACY_AD_MEMBERSHIP_SYNC
For the internal full synchronisation process (from Active Directory to Crowd database tables), this property defines whether membership details should be retrieved up-front.The legacy approach is to individually retrieve membership for each group (for both group and user based directories) and can cause full synchronisation to take several hours or more for an AD instance with large numbers of groups/users.
The preferred (non legacy) approach is to retrieve all membership details as part of an up-front request to AD. This approach is normally able to complete a full synchronisation in several minutes (depending on server, database and AD speed/specifications) for an AD instance with large numbers of groups/users. Normally, this approach should not use much (if any) additional memory (when compared to the legacy approach). See CrowdLdapNameFactory for details.
- Since:
- 5.3
-
USE_LEGACY_AD_INCREMENTAL_SYNC
For Active Directory, the incremental sync of users comes in two flavors:- Legacy mode - based on usnChanged attribute only
- 'bulletproof' mode (default) - using both usnChanged and ObjectGUID diff between internal and remote directory
-
AD_GROUP_USER_CACHE_DISABLED
This property disables the caching performed by GroupUserCache.In general, USE_LEGACY_AD_MEMBERSHIP_SYNC property should be used to turn off up-front membership retrieval. This property caters for the case where a customer is having a problem with sync processing and has turned on legacy mode (USE_LEGACY_AD_MEMBERSHIP_SYNC) but is still experiencing a problem with GroupUserCache (e.g. for incremental syncs). In such a case, this flag can be used (in addition to the legacy flag) while the problem with the cache is resolved.
- Since:
- 5.3
-
ALLOW_DUPLICATED_EXTERNAL_IDS_IN_SYNC
When set to true Crowd will match users with duplicated external ids by names, instead of failing sync. -
APPLICATION_STATUS_CACHE_DURATION
When set to an integer, Crowd web application /status endpoint will memoize database health check for a provided number of seconds instead of the default value -
ATLASSIAN_DEV_MODE
-
EMAIL_CHANGE_BY_EXTERNAL_APPS_ENABLED
Since Crowd 4.4, Crowd does NOT allow external apps to change e-mail of user. Enabling this flag bypasses this, meaning that if it's set to true, external apps can change e-mail of user.Note: One SHOULD NOT enable this as it opens a security vulnerability for user impersonation in SAML SSO connected applications which use e-mail as UID.
- Since:
- 4.4.0
-
SWALLOW_EXCEPTIONS_IN_DIRECTORY_SEARCH
Enables swallowing exceptions and returning empty results in the directory search methods. This flag is present to provide an option to disable changes implemented in KRAK-3642. -
EVENT_TRANSFORMER_DIRECTORY_MANAGER_CACHE_SIZE
Sets cache size of DirectoryManager in the EventTransformer- Since:
- 5.0.4
-
RECREATED_MEMBERSHIPS_BATCHING_ENABLED
Enables batching of requests to verify if a user or group is a direct member of a parent group when determining recreated memberships during incremental synchronisation.- Since:
- 5.0.4
-
AUDITLOG_SEARCH_ESCAPE_SPECIAL_CHARACTERS_ENABLED
Setting this to "true" enables the special character (_) escaping- Since:
- 5.1.2
-
HSQL_NO_DATA_LOG_SUPPRESSING_FILTER_ENABLED
Enables HSQL specific "no data" log suppressing filter- Since:
- 5.2.0
-
HSQL_UPGRADE_CONDITION_SKIP_PROPERTY
Allows skipping legacy HSQL condition check for automatic upgrade- Since:
- 5.2.0
-
ADVANCED_SECURITY_PASSWORD_ENCODER_ENABLED
Enables Crowd advanced PBKDF2-HMAC-SHA512 password encoder with 210,000 iterations- Since:
- 5.2.1
-
SECURITY_ANNOTATIONS_ENABLED
Controls enabling of handling security annotations on struts actions, servlets and filters Note: atlassian-rest is controlled by a separate flag.- Since:
- 6.0.0
-
PLUGIN_SECURITY_ANNOTATIONS_ENABLED
Controls enabling of handling security annotations on plugin actions, servlets and filters- Since:
- 6.0.0
-
SECURITY_SERVLET_ANNOTATION_CACHE_ENABLED
Determines whether the caching of AccessTypes for servlet methods is enabled. By default, it is set to 'true' (cache is enabled).- Since:
- 6.0
-
DEFAULT_TO_LICENSED_ACCESS_ENABLED
Controls defaulting to licensed access when there is no annotation Note: atlassian-rest is controlled by a separate flag.- Since:
- 6.0.0
-
-
Method Details
-
createBooleanSystemProperty
public static BooleanSystemProperty createBooleanSystemProperty(String propertyName, boolean defaultForCrowd, boolean defaultForNonCrowd) Creates system property with separate default values for Crowd and other products.
-