Tools

Upgrading Webhelpdesk with Waffle as Single Sign On

This article provides information on how to upgrade Webhelpdesk with Waffle Single Sign On

First published date

3/23/2022 1:13 AM

Last published date

3/23/2022 1:46 PM

Overview

Web Help Desk allows multiple types of authentication which also includes SSO via SAML/ADFS, CAS and Servlet (Waffle Authentication). Waffle authentication still fetches the information from AD/LDAP so this is an alternative if SAML/ADFS is not possible.
Please note that HTTPS and AD/LDAP connection is required before settings up Single Sign-On with Waffle.
 

Product section

Web Help Desk

Resolution

  1. Following the pre - upgrade procedure, aside from backing up the database, conf folders, css and wrapper folder, back up the following files from \webhelpdesk\bin\tomcat\lib:
  • guava-13.0.1.jar
  • jna-3.5.0.jar
  • platform-3.5.0.jar
  • slf4j-api-1.7.2.jar
  • waffle-jna.jar
 
  1. Proceed with the upgrade.
  2. Stop webhelpdesk
  3. Edit the tomcat_web_template.xml found in \webhelpdesk\conf\. Add the script before the closing </web-app> and start Webhelpdesk.
<filter>
          <filter-name>SecurityFilter</filter-name>
          <filter-class>waffle.servlet.NegotiateSecurityFilter</filter-class>   
          <init-param>
              <param-name>principalFormat</param-name>
              <param-value>fqn</param-value>
          </init-param>
          <init-param>
              <param-name>roleFormat</param-name>
              <param-value>both</param-value>
          </init-param>
          <init-param>
              <param-name>allowGuestLogin</param-name>
              <param-value>false</param-value>
          </init-param>
          <init-param>
              <param-name>impersonate</param-name>
              <param-value>false</param-value>
          </init-param>
          <init-param>
              <param-name>securityFilterProviders</param-name>
              <param-value>
                  waffle.servlet.spi.BasicSecurityFilterProvider
                  waffle.servlet.spi.NegotiateSecurityFilterProvider
              </param-value>
          </init-param>
          <init-param>
              <param-name>waffle.servlet.spi.NegotiateSecurityFilterProvider/protocols</param-name>
              <param-value>
                  Negotiate
                  NTLM
              </param-value>
          </init-param>
          <init-param>    
              <param-name>waffle.servlet.spi.BasicSecurityFilterProvider/realm</param-name>
              <param-value>WaffleFilterDemo</param-value>
          </init-param>
        </filter>
        <filter-mapping>
            <filter-name>SecurityFilter</filter-name>
            <url-pattern>/WebObjects/*</url-pattern>
        </filter-mapping>