KB0013321: Single Sign-On Authorization Error
Applies to: Ephesoft Transact 4.0.0.0
Issue
After configuring SSO using Authentication Type 1 or 2 in the web.xml, you may encounter the following error when logging in to Transact: “You are not authorized to view this page. Forbidden: Access is denied”.

Root Cause
The issue may be due to incorrect ordering of the SSO Authentication filter in the web.xml file.
Solution
To resolve this issue, you’ll need to re-order the entries in the web.xml file so that the authentication filter comes before the authorization filter.
- Open the web.xml file located at [Ephesoft_Directory]\Application\WEB-INF\.
- Locate the following excerpt:
<!-- Authentication Filter for SSO --> <filter> <filter-name>authenticationFilter</filter-name> <filter-class>com.ephesoft.dcma.webapp.AuthenticationFilter</filter-class> <!-- Name of HTTP header containing User Name. --> <init-param> <param-name>requestUsernameHeader</param-name> <param-value>REMOTE_USER</param-value> </init-param> <!-- Name of HTTP header containing Group Name. --> <init-param> <param-name>requestGroupnameHeader</param-name> <param-value>GROUP_USER</param-value> </init-param> <!-- Name of HTTP header containing Super Admin. --> <init-param> <param-name>requestSuperAdminHeader</param-name> <param-value>SUPER_ADMIN</param-value> </init-param> <!-- Logout URL --> <init-param> <param-name>logoutUrl</param-name> <param-value>https://www.samplecompanyname.com/Logout/logoff.asp</param-value> </init-param> </filter> <filter-mapping> <filter-name>authenticationFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter>
- Cut and paste the above section to between the context-param tag and headerFilter. An example is included below:
<context-param>
<param-name>protocol</param-name>
<param-value>http</param-value>
</context-param>
<!-- Authentication Filter for SSO -->
<filter>
<filter-name>authenticationFilter</filter-name>
<filter-class>com.ephesoft.dcma.webapp.AuthenticationFilter</filter-class>
<!-- Name of HTTP header containing User Name. -->
<init-param>
<param-name>requestUsernameHeader</param-name>
<param-value>REMOTE_USER</param-value>
</init-param>
<!-- Name of HTTP header containing Group Name. -->
<init-param>
<param-name>requestGroupnameHeader</param-name>
<param-value>GROUP_USER</param-value>
</init-param>
<!-- Name of HTTP header containing Super Admin. -->
<init-param>
<param-name>requestSuperAdminHeader</param-name>
<param-value>SUPER_ADMIN</param-value>
</init-param>
<!-- Logout URL -->
<init-param>
<param-name>logoutUrl</param-name>
<param-value>https://www.samplecompanyname.com/Logout/logoff.asp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>authenticationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>headerFilter</filter-name>
<filter-class>com.ephesoft.dcma.webapp.HTTPHeaderFilter</filter-class>
</filter>
<filter>
<filter-name>hibernate.dcma</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<!---->
<filter>
<filter-name>serverAuthorizationFilter</filter-name>
<filter-class>com.ephesoft.dcma.webapp.AuthorizationFilter</filter-class>
</filter>
- Save and close the file.
- Restart Ephesoft Transact.