Package com.emc.documentum.rest.context.jc

# Class DefaultSecurityRuntime

java.lang.Object
com.emc.documentum.rest.context.jc.SecurityRuntimeBase
com.emc.documentum.rest.context.jc.DefaultSecurityRuntime

@Configuration @PropertySource("classpath:rest-api-runtime.properties") public class DefaultSecurityRuntime extends com.emc.documentum.rest.context.jc.SecurityRuntimeBase
Default security runtime properties values. Properties set in 'rest-api-runtime.properties' will override the default. Please refer to 'rest-api-runtime.properties.template' for the detail explanation of runtime properties.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `String`
  `allowedHostPatterns`
  Property value for 'rest.security.allowed.host.patterns'.
  `String`
  `anonymousPatterns`
  Property value for 'rest.security.anonymous.url.patterns.'.
  `String`
  `authMode`
  Property value for 'rest.security.auth.mode'.
  `String`
  `authUrls`
  Property value for 'rest.security.auth.urls'.
  `boolean`
  `cacheControlDisabled`
  Property value for 'rest.security.headers.cache_control.disabled'.
  `String`
  `clientTokenCookieSameSite`
  Property value for "rest.security.client.token.cookie.samesite".
  `Boolean`
  `clientTokenCookieScoped`
  `Class<com.emc.documentum.rest.security.ticket.ClientTokenExpirationPolicy>`
  `clientTokenExpirationPolicy`
  Property value for 'rest.security.client.token.expiration.policy'.
  `String`
  `clientTokenHeader`
  Property value for 'rest.security.client.token.header'.
  `Integer`
  `clientTokenTimeoutInSeconds`
  Property value for 'rest.security.client.token.timeout'.
  `boolean`
  `contentTypeOptionsDisabled`
  Property value for 'rest.security.headers.content_type_options.disabled'.
  `String`
  `cryptoAlgorithm`
  Property value for 'rest.security.crypto.algorithm'.
  `String`
  `cryptoAlgorithmParametersClass`
  Property value for 'rest.security.crypto.algorithm.parameters.class'.
  `String`
  `cryptoBlockSize`
  Property value for 'rest.security.crypto.block.size'.
  `String`
  `cryptoKeySalt`
  Property value for 'rest.security.crypto.key.salt'.
  `String`
  `cryptoKeySize`
  Property value for 'rest.security.crypto.key.size'.
  `String`
  `cryptoProvider`
  Property value for 'rest.security.crypto.provider'.
  `String`
  `cryptoProviderClass`
  Property value for 'rest.security.crypto.provider.class'.
  `String`
  `cryptoProviderForceReplace`
  Property value for 'rest.security.crypto.provider.force.replace'.
  `String`
  `cryptoProviderJsafeJCEMode`
  Property value for 'rest.security.crypto.provider.jsafejce.mode'.
  `String`
  `fallbackAuthMode`
  Property value for 'rest.security.sso.fallback.auth.mode'.
  `Boolean`
  `getClientTokenSessionCookie`
  `Boolean`
  `hstsDisabled`
  Property value for 'rest.security.headers.hsts.disabled'.
  `Boolean`
  `hstsIncludeSubDomains`
  Property value for 'rest.security.headers.hsts.include_sub_domains'.
  `long`
  `hstsMaxAgeInSeconds`
  Property value for 'rest.security.headers.hsts.max_age_in_seconds'.
  `String`
  `httpSessionUse`
  Property value for 'rest.security.http_session.use'.
  `String`
  `keyAlgorithm`
  Property value for 'rest.security.key.algorithm'.
  `String`
  `keystorePassword`
  Property value for 'rest.security.consumer.https.keystore.password'.
  `String`
  `keystorePath`
  Property value for 'rest.security.consumer.https.keystore.path'.
  `String`
  `logoutSuccessUrl`
  Property value for 'rest.security.logout.success.url'.
  `String`
  `logoutSupportedMethods`
  Property value for 'rest.security.logout.supported.methods'.
  `String`
  `logoutUrl`
  Property value for 'rest.security.logout.url'.
  `String`
  `proxyAddress`
  Property value for 'rest.security.consumer.proxy.address'.
  `Integer`
  `proxyPort`
  Property value for 'rest.security.consumer.proxy.port'.
  `String`
  `proxyUsername`
  Property value for 'rest.security.consumer.proxy.username'.
  `String`
  `proxyUserPassword`
  Property value for 'rest.security.consumer.proxy.password'.
  `String`
  `randomAlgorithm`
  Property value for 'rest.security.random.algorithm'.
  `String`
  `realmName`
  Property value for 'rest.security.realm.name'.
  `String`
  `rootAuthUrl`
  Property value for 'rest.security.auth.root.url'.
  `boolean`
  `springHttpFirewallDisable`
  Property value for 'rest.security.spring.httpfirewall.disable'.
  `String`
  `ssoLoginSuccessUrlWhitelist`
  Property value for "rest.security.sso.login.success.url.whitelist".
  `boolean`
  `xFrameOptionsDisabled`
  Property value for 'rest.security.headers.x_frame_options.disabled'.
  `String`
  `xFrameOptionsPolicy`
  Property value for 'rest.security.headers.x_frame_options.policy'.
  `boolean`
  `xssProtectionBlock`
  Property value for 'rest.security.headers.xss_protection.block'.
  `boolean`
  `xssProtectionDisabled`
  Property value for 'rest.security.headers.xss_protection.disabled'.
  `boolean`
  `xssProtectionExplicitEnable`
  Property value for 'rest.security.headers.xss_protection.explicit_enable'.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultSecurityRuntime()`

- ## Method Summary

  ### Methods inherited from class com.emc.documentum.rest.context.jc.SecurityRuntimeBase

  `propertyPlaceholderConfigurer`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### authMode

    @Value("${rest.security.auth.mode:basic}") public String authMode
    Property value for 'rest.security.auth.mode'. Defaults to 'basic'.

  - ### fallbackAuthMode

    @Value("${rest.security.sso.fallback.auth.mode:}") public String fallbackAuthMode
    Property value for 'rest.security.sso.fallback.auth.mode'. Defaults to empty

  - ### rootAuthUrl

    @Value("${rest.security.auth.root.url:/repositories/**}") public String rootAuthUrl
    Property value for 'rest.security.auth.root.url'. Defaults to '/repositories/**'.

  - ### authUrls

    @Value("${rest.security.auth.urls:/search*}") public String authUrls
    Property value for 'rest.security.auth.urls'. Defaults to '/search*'.

  - ### realmName

    @Value("${rest.security.realm.name:com.emc.documentum.rest}") public String realmName
    Property value for 'rest.security.realm.name'. Defaults to 'com.emc.documentum.rest'.

  - ### logoutUrl

    @Value("${rest.security.logout.url:/logout}") public String logoutUrl
    Property value for 'rest.security.logout.url'. Defaults to '/logout'.

  - ### logoutSuccessUrl

    @Value("${rest.security.logout.success.url:/services}") public String logoutSuccessUrl
    Property value for 'rest.security.logout.success.url'. Defaults to '/services'.

  - ### cryptoAlgorithm

    @Value("${rest.security.crypto.algorithm:AES/CBC/PKCS5Padding}") public String cryptoAlgorithm
    Property value for 'rest.security.crypto.algorithm'. Defaults to 'AES/CBC/PKCS5Padding'.

  - ### cryptoAlgorithmParametersClass

    @Value("${rest.security.crypto.algorithm.parameters.class:}") public String cryptoAlgorithmParametersClass
    Property value for 'rest.security.crypto.algorithm.parameters.class'. Defaults to empty.

  - ### cryptoProvider

    @Value("${rest.security.crypto.provider:}") public String cryptoProvider
    Property value for 'rest.security.crypto.provider'. Defaults to empty (JVM provider).

  - ### cryptoProviderClass

    @Value("${rest.security.crypto.provider.class:}") public String cryptoProviderClass
    Property value for 'rest.security.crypto.provider.class'. Defaults to empty.

  - ### cryptoProviderForceReplace

    @Value("${rest.security.crypto.provider.force.replace:false}") public String cryptoProviderForceReplace
    Property value for 'rest.security.crypto.provider.force.replace'. Defaults to 'false'.

  - ### cryptoProviderJsafeJCEMode

    @Value("${rest.security.crypto.provider.jsafejce.mode:}") public String cryptoProviderJsafeJCEMode
    Property value for 'rest.security.crypto.provider.jsafejce.mode'. Defaults to empty.

  - ### cryptoKeySize

    @Value("${rest.security.crypto.key.size:0}") public String cryptoKeySize
    Property value for 'rest.security.crypto.key.size'. Defaults to '0'.

  - ### cryptoKeySalt

    @Value("${rest.security.crypto.key.salt:}") public String cryptoKeySalt
    Property value for 'rest.security.crypto.key.salt'. Defaults to empty.

  - ### cryptoBlockSize

    @Value("${rest.security.crypto.block.size:0}") public String cryptoBlockSize
    Property value for 'rest.security.crypto.block.size'. Defaults to '0'.

  - ### randomAlgorithm

    @Value("${rest.security.random.algorithm:SHA1PRNG}") public String randomAlgorithm
    Property value for 'rest.security.random.algorithm'. Defaults to 'SHA1PRNG'.

  - ### keyAlgorithm

    @Value("${rest.security.key.algorithm:}") public String keyAlgorithm
    Property value for 'rest.security.key.algorithm'. Defaults to empty.

  - ### clientTokenHeader

    @Value("${rest.security.client.token.header:}") public String clientTokenHeader
    Property value for 'rest.security.client.token.header'. Defaults is empty.

  - ### clientTokenExpirationPolicy

    @Value("${rest.security.client.token.expiration.policy:com.emc.documentum.rest.security.ticket.impl.TolerantTimeoutExpirationPolicy}") public Class<com.emc.documentum.rest.security.ticket.ClientTokenExpirationPolicy> clientTokenExpirationPolicy
    Property value for 'rest.security.client.token.expiration.policy'. Defaults to 'com.emc.documentum.rest.security.ticket.impl.TolerantTimeoutExpirationPolicy'.

  - ### clientTokenCookieScoped

    @Value("${rest.security.client.token.cookie.scoped:false}") public Boolean clientTokenCookieScoped

  - ### clientTokenTimeoutInSeconds

    @Value("${rest.security.client.token.timeout:3600}") public Integer clientTokenTimeoutInSeconds
    Property value for 'rest.security.client.token.timeout'. Defaults to '3600'.

  - ### getClientTokenSessionCookie

    @Value("${rest.security.client.token.session.cookie:false}") public Boolean getClientTokenSessionCookie

  - ### clientTokenCookieSameSite

    @Value("${rest.security.client.token.cookie.samesite:}") public String clientTokenCookieSameSite
    Property value for "rest.security.client.token.cookie.samesite". Defaults to empty.

  - ### hstsDisabled

    @Value("${rest.security.headers.hsts.disabled:false}") public Boolean hstsDisabled
    Property value for 'rest.security.headers.hsts.disabled'. Defaults to 'false'.

  - ### hstsIncludeSubDomains

    @Value("${rest.security.headers.hsts.include_sub_domains:true}") public Boolean hstsIncludeSubDomains
    Property value for 'rest.security.headers.hsts.include_sub_domains'. Defaults to 'true'.

  - ### hstsMaxAgeInSeconds

    @Value("${rest.security.headers.hsts.max_age_in_seconds:31536000}") public long hstsMaxAgeInSeconds
    Property value for 'rest.security.headers.hsts.max_age_in_seconds'. Defaults to one year.

  - ### cacheControlDisabled

    @Value("${rest.security.headers.cache_control.disabled:false}") public boolean cacheControlDisabled
    Property value for 'rest.security.headers.cache_control.disabled'. Defaults to 'false'.

  - ### contentTypeOptionsDisabled

    @Value("${rest.security.headers.content_type_options.disabled:false}") public boolean contentTypeOptionsDisabled
    Property value for 'rest.security.headers.content_type_options.disabled'. Defaults to 'false'.

  - ### xFrameOptionsDisabled

    @Value("${rest.security.headers.x_frame_options.disabled:false}") public boolean xFrameOptionsDisabled
    Property value for 'rest.security.headers.x_frame_options.disabled'. Defaults to 'false'.

  - ### xFrameOptionsPolicy

    @Value("${rest.security.headers.x_frame_options.policy:DENY}") public String xFrameOptionsPolicy
    Property value for 'rest.security.headers.x_frame_options.policy'. Defaults to 'DENY'.

  - ### xssProtectionDisabled

    @Value("${rest.security.headers.xss_protection.disabled:false}") public boolean xssProtectionDisabled
    Property value for 'rest.security.headers.xss_protection.disabled'. Defaults to 'false'.

  - ### xssProtectionExplicitEnable

    @Value("${rest.security.headers.xss_protection.explicit_enable:true}") public boolean xssProtectionExplicitEnable
    Property value for 'rest.security.headers.xss_protection.explicit_enable'. Defaults to 'true'.

  - ### xssProtectionBlock

    @Value("${rest.security.headers.xss_protection.block:true}") public boolean xssProtectionBlock
    Property value for 'rest.security.headers.xss_protection.block'. Defaults to 'true'.

  - ### httpSessionUse

    @Value("${rest.security.http_session.use:STATELESS}") public String httpSessionUse
    Property value for 'rest.security.http_session.use'. Defaults to 'STATELESS'.

  - ### anonymousPatterns

    @Value("${rest.security.anonymous.url.patterns:}") public String anonymousPatterns
    Property value for 'rest.security.anonymous.url.patterns.'. Support multiple values. Separate two patterns with comma.

  - ### logoutSupportedMethods

    @Value("${rest.security.logout.supported.methods:GET,POST}") public String logoutSupportedMethods
    Property value for 'rest.security.logout.supported.methods'. Defaults to 'GET,POST' Support multiple values, separated by comma.

  - ### ssoLoginSuccessUrlWhitelist

    @Value("${rest.security.sso.login.success.url.whitelist:/.*}") public String ssoLoginSuccessUrlWhitelist
    Property value for "rest.security.sso.login.success.url.whitelist". Default to '/.*'

  - ### springHttpFirewallDisable

    @Value("${rest.security.spring.httpfirewall.disable:true}") public boolean springHttpFirewallDisable
    Property value for 'rest.security.spring.httpfirewall.disable'. Defaults to 'true'.

  - ### allowedHostPatterns

    @Value("${rest.security.allowed.host.patterns:}") public String allowedHostPatterns
    Property value for 'rest.security.allowed.host.patterns'. Defaults to empty.

  - ### proxyAddress

    @Value("${rest.security.consumer.proxy.address:}") public String proxyAddress
    Property value for 'rest.security.consumer.proxy.address'. Defaults to empty.

  - ### proxyPort

    @Value("${rest.security.consumer.proxy.port:80}") public Integer proxyPort
    Property value for 'rest.security.consumer.proxy.port'. Defaults to 80.

  - ### proxyUsername

    @Value("${rest.security.consumer.proxy.username:}") public String proxyUsername
    Property value for 'rest.security.consumer.proxy.username'. Defaults to empty.

  - ### proxyUserPassword

    @Value("${rest.security.consumer.proxy.password:}") public String proxyUserPassword
    Property value for 'rest.security.consumer.proxy.password'. Defaults to empty.

  - ### keystorePath

    @Value("${rest.security.consumer.https.keystore.path:}") public String keystorePath
    Property value for 'rest.security.consumer.https.keystore.path'. Defaults to empty.

  - ### keystorePassword

    @Value("${rest.security.consumer.https.keystore.password:}") public String keystorePassword
    Property value for 'rest.security.consumer.https.keystore.password'. Defaults to empty.

- ## Constructor Details

  - ### DefaultSecurityRuntime

    public DefaultSecurityRuntime()