EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB426588: How to configure SAML authentication when MicroStrategy Web is accessed through a proxy or load balancer with an external URL


Pascal Deguine

Principal Product Specialist • Strategy


This knowledge base article explains the required steps to take in order to configure MicroStrategy SAML authentication for load balanced environments or Web servers behind a proxy server.

NOTE: For Strategy 2021 and later, this capability is now part of SAML configuration.  Please use the out of the box configuration capabilities as described in the product manual: Library SAML Configuration with Proxy or Load Balancer (microstrategy.com).
When running Strategy Web behind a proxy server or a load balancer, additional configuration steps must be performed for the Strategy SAML implementation to access SAML response messages that may be addressed to the external facing URL instead of the internal facing URL. For example, the SAML response  message may be addressed to https://{externalURL}/MicroStrategy/saml/SSO, while the application expects http://{internal URL}/MicroStrategy/saml/SSO.
To solve the problem, Strategy Web must be forced to not read the actual HTTP message header but do a comparison check with the URL specified in the configuration instead, in order to match the destination URL provided in the SAML response. The following steps must be performed:
1. Edit SpringSAMLConfig.xml file inside [WEB_DEPLOYMENT_FOLDER]/WEB-INF/classes/resources/SAML
2. Find the bean with id “contextprovider” in the file and replace it with the following bean:


<bean id="contextProvider" class="org.springframework.security.saml.context.SAMLContextProviderLB">
<property name="scheme" value="https"/>
<property name="serverName" value="your external hostname"/>
<property name="serverPort" value="443"/>
<property name="includeServerPortInRequestURL" value="false"/>
<property name="contextPath" value="/Strategy"/>
</bean>

Note: The bean class is "SAMLContextProviderLB" which is different from the original one, and the properties must be configured with correct information to match the application's external URL. Note that the "contextPath" stops at the application name – no need to add "/saml/SSO". The application name depends on how Strategy Web was deployed in your environment. By default, "Strategy".
3. Save and restart the Web application server. 
 
KB426588


Comment

0 comments

Details

Knowledge Article

Published:

June 30, 2017

Last Updated:

February 16, 2023