Change EWS Impersonation config for credentials to be encrypted and allow for testing, different environments
Description
Change EWS so when impersonation is used, the credentials are better protected and can be different for different environments (dev/test vs. prod), or on-premise Exchange vs. off-premise Office365.
Need to:
read properties from ${CATALINA_HOME}/portlet/{portletName}_overrides.properties and ${PORTLET_HOME}/{portletName}_overrides.properties in addition to the properties file in the portlet
have an encryption key stored in properties file
have encrypted username and password in portlet preferences
Allows:
Different EWS settings per portlet to accommodate different settings for on-premise Exchange and off-premise Office365. (Calendar is not great about supporting multiple calendar instances with different settings, but this will contribute toward that positive direction).
Calendar Admin UI can allow changing username or password and storing encrypted values
Does not allow different environments to work out of the box, but can have test values checked into source repo, and prod can override encryption key using environment-specific prop files and change username and password in UI or import different portlet settings.
Change EWS so when impersonation is used, the credentials are better protected and can be different for different environments (dev/test vs. prod), or on-premise Exchange vs. off-premise Office365.
Need to:
read properties from ${CATALINA_HOME}/portlet/{portletName}_overrides.properties and
${PORTLET_HOME}/{portletName}_overrides.properties in addition to the properties file in the portlet
have an encryption key stored in properties file
have encrypted username and password in portlet preferences
Allows:
Different EWS settings per portlet to accommodate different settings for on-premise Exchange and off-premise Office365. (Calendar is not great about supporting multiple calendar instances with different settings, but this will contribute toward that positive direction).
Calendar Admin UI can allow changing username or password and storing encrypted values
Does not allow different environments to work out of the box, but can have test values checked into source repo, and prod can override encryption key using environment-specific prop files and change username and password in UI or import different portlet settings.