Managing Case Sensitivity for Usernames

Spectrum Technology Platform supports case sensitive usernames, which is set by default for new 2020.1 installations and higher.

In versions older than 2020.1, usernames were always case sensitive without any option to configure the setting. Upgrading to 2020.1 retains the case insensitive behavior.

In version 2020.1 and higher, an administrator can configure Spectrum Technology Platform to specify whether case sensitivity should be enabled by adding the property spectrum.security.account.case.sensitive in the spectrum-container.properties file.

An administrator can add users to the Spectrum Technology Platform using either the Spectrum Management Console or APIs, such as the Spectrum Spatial ACL REST API. Users are also automatically added the first time they log in if Spectrum Technology Platform is using Active Directory/LDAP integration or Single Sign-On (SSO).

The behavior when adding a user depends on the case sensitive setting as described below.

When the spectrum.security.account.case.sensitive property is false:
  • Users are added in lowercase regardless of the case used for their name.
  • A user can log in using any case because the login takes the lowercase of the name.
  • For services, such as the Spectrum Spatial ACL services, use the lowercase of the username to find the user.
When the spectrum.security.account.case.sensitive property is true:
  • Users are added in the case specified, so Username, UserName, and userName are considered unique.
  • When users log in, they must specify their username in the same case as when they created the username.
  • When using services, such as the Spectrum Spatial ACL services, you must specify the same case as when you created the username.
Note: If the spectrum.security.account.case.sensitive property is not in the spectrum-container.properties file, Spectrum Technology Platform defaults to case insensitive usernames.

When using APIs, we recommend listing users before making requests to ensure that a user exists and to obtain the correct case. Doing this ensures that regardless of the case sensitivity setting, requests work as expected.