<commit_before>---
layout: default
title: CAS Properties
---

# CAS Properties

Various properties can be specified in CAS [either inside configuration files or as command 
line switches](Configuration-Management.html). This section provides a list common CAS properties and 
references to the underlying modules that consume them.

<div class="alert alert-info"><strong>Be Selective</strong><p>
This section is meant as a guide only. Do <strong>NOT</strong> copy/paste the entire collection of settings 
into your CAS configuration; rather pick only the properties that you need.</p></div>

Note that property names can be specified
in very relaxed terms. For instance `cas.someProperty`, `cas.some-property`, `cas.some_property`
and `CAS_SOME_PROPERTY` are all valid names.

The following list of properties are controlled by and provided to CAS. Each block, for most use cases, corresponds
to a specific CAS module that is expected to be included in the final CAS distribution prepared during the build
and deployment process.
 
<div class="alert alert-info"><strong>YAGNI</strong><p>Note that for nearly ALL use cases,
simply declaring and configuring properties listed below is sufficient. You should NOT have to
explicitly massage a CAS XML configuration file to design an authentication handler, 
create attribute release policies, etc. CAS at runtime will auto-configure all required changes for you.</p></div>

## Encryption/Decryption

The following settings are to be loaded by the CAS configuration server, which bootstraps
the entire CAS running context. They are to be put inside the `bootstrap.properties`.

```properties
# spring.cloud.config.server.encrypt.enabled=true
# encrypt.keyStore.location=file:///etc/cas/casconfigserver.jks
# encrypt.keyStore.password=<PASSWORD>
# encrypt.keyStore.alias =DaKey
# encrypt.keyStore.secret=changeme
```

To learn more about how sensitive CAS settings can be 
secured, [please review this guide](Configuration-Properties-Security.html).

## Embedded Tomcat

The following properties are related to the embedded Tomcat container that ships with CAS. 

```properties
server.contextPath=/cas
server.port=8443
server.ssl.keyStore=file:/etc/cas/thekeystore
server.ssl.keyStorePassword=<PASSWORD>
server.ssl.keyPassword=<PASSWORD>
# server.ssl.ciphers=
# server.ssl.clientAuth=
# server.ssl.enabled=
# server.ssl.keyAlias=
# server.ssl.keyStoreProvider=
# server.ssl.keyStoreType=
# server.ssl.protocol=
# server.ssl.trustStore=
# server.ssl.trustStorePassword=
# server.ssl.trustStoreProvider=
# server.ssl.trustStoreType=
<commit_msg>Update Configuration-Properties.md<commit_after>---
layout: default
title: CAS Properties
---

# CAS Properties

Various properties can be specified in CAS [either inside configuration files or as command 
line switches](Configuration-Management.html). This section provides a list common CAS properties and 
references to the underlying modules that consume them.

<div class="alert alert-info"><strong>Be Selective</strong><p>
This section is meant as a guide only. Do <strong>NOT</strong> copy/paste the entire collection of settings 
into your CAS configuration; rather pick only the properties that you need.</p></div>

Note that property names can be specified
in very relaxed terms. For instance `cas.someProperty`, `cas.some-property`, `cas.some_property`
and `CAS_SOME_PROPERTY` are all valid names.

The following list of properties are controlled by and provided to CAS. Each block, for most use cases, corresponds
to a specific CAS module that is expected to be included in the final CAS distribution prepared during the build
and deployment process.
 
<div class="alert alert-info"><strong>YAGNI</strong><p>Note that for nearly ALL use cases,
simply declaring and configuring properties listed below is sufficient. You should NOT have to
explicitly massage a CAS XML configuration file to design an authentication handler, 
create attribute release policies, etc. CAS at runtime will auto-configure all required changes for you.</p></div>

## Encryption/Decryption

The following settings are to be loaded by the CAS configuration server, which bootstraps
the entire CAS running context. They are to be put inside the `bootstrap.properties`.

```properties
# spring.cloud.config.server.encrypt.enabled=true
# encrypt.keyStore.location=file:///etc/cas/casconfigserver.jks
# encrypt.keyStore.password=<PASSWORD>
# encrypt.keyStore.alias=DaKey
# encrypt.keyStore.secret=changeme
```

To learn more about how sensitive CAS settings can be 
secured, [please review this guide](Configuration-Properties-Security.html).

## Embedded Tomcat

The following properties are related to the embedded Tomcat container that ships with CAS. 

```properties
server.contextPath=/cas
server.port=8443
server.ssl.keyStore=file:/etc/cas/thekeystore
server.ssl.keyStorePassword=<PASSWORD>
server.ssl.keyPassword=<PASSWORD>
# server.ssl.ciphers=
# server.ssl.clientAuth=
# server.ssl.enabled=
# server.ssl.keyAlias=
# server.ssl.keyStoreProvider=
# server.ssl.keyStoreType=
# server.ssl.protocol=
# server.ssl.trustStore=
# server.ssl.trustStorePassword=
# server.ssl.trustStoreProvider=
# server.ssl.trustStoreType=

{'fraction_non_alphanumeric': 0.08586830958798614, 'fraction_numerical': 0.0015402387370042356, 'mean_word_length': 5.3586291309669525, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 37, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3955985', 'n_tokens_mistral': 1442, 'n_tokens_neox': 1361, 'n_words': 540}