User Authentication

User authentication is managed by the Java EE application server for all clients to the middle tier.
The authentication process consists of three major parts:

Contents

Related documents

Authentication in middle-tier

Overview

Overview of how authentication works in the middle-tier


The user authentication process is always managed by the application server, before the call even reach IFS Applications. All calls from clients (Access Providers in the picture above) pass a "security interceptor" in the application server before the call reach the IFS client gateway, thus, all such calls are intercepted and users are authenticated before the call can continue.

The security layer surrounding the application can be configured to do authentication in different ways; one possibility is to use IFS database authentication (authenticating by validating a user's Oracle username and password), another is to use LDAP authentication.

During the authentication phase, the supplied user name and password is verified and the granted Java EE roles are added to the authenticated user.
If the user has been granted the IFSUser Java EE role, access to the EJB-methods are allowed, if not, an exception is returned from the application server (HTTP 401 - Unauthorized).
If access to the called EJB method was allowed, the second security layer is reached - activity grants. In this layer the call to the EJB method is intercepted by the Java Server Framework, which first maps the authenticated user identity to an existing Foundation1 user (using the Foundation1 user's Directory Id) and then checks if the called activity/service is granted to the user. If true, the call proceeds to the actual implementation, otherwise a security exception preventing the user from calling the method is thrown from the Java Server Framework.

Related topics

Username / Password authentication using JAAS

Overview of Username / Password authentication using JAAS

The middle-tier application can be configured for HTTP Basic password authentication. In this mode, the Security Interceptor filter will authenticate users using Java(TM) Authentication and Authorization Service (JAAS) login modules. Which login modules is supported by default varies between different Java EE servers, and for some Java EE application servers it is also possible to create custom login modules, supporting other authentication repositories.

JBoss support on distributed with IFS Applications includes LDAP, Active Directory and Oracle database. When using JAAS together with LDAP or Active Directory, it recommended to use the Domain Configuration option to simplify logon for users.

Directory ID for users should be set to the HTTP Basic Username when using Password / Username authentication mode.

IFS Web Client

The process of authenticating a Web Client user is managed by declarative Java(TM) Authentication and Authorization Service (JAAS), or by a supporting system (Externally identified). The authentication process is similar to that described in the section Authentication in Extended Server above.

In addition to authenticating the end user a special power user (config user) is authenticated and used for preliminary executions of the accessed pages. These raw pages are stored in the page pool. This config user is always authenticated against a Oracle database repository.

IFS Web Client Username / Password authentication using JAAS

Overview of Username / Password authentication using JAAS

IFS Web Client can be configured to use FORM based declarative JAAS and login modules for authentication. In this mode, if the requested URL pattern matches a pattern that has been declared as secured then the Security Interceptor will prompt for username and password using a predefined login page. If the JAAS authentication process fails for any reason a predefined static error page will be displayed. However the actual cause of the failure may not be given depending on the mainly the repository used for authentication. The URL patterns that have been declared as secured, the login and error pages to be displayed by the security interceptor are defined in the web applications deployment descriptor (web.xml).

As mentioned above while authentication can be performed through custom login modules; the JBoss distribution of IFS Web Client includes LDAP,Active Directory and Oracle database support.

Directory ID for users should be set as the Username when using Username/Password authentication mode.

Externally identified using Remote User

Externally identified using Remote User

IFS Web Client supports external authentication based upon Remote User variable in AJP13 protocol. For more details see >>

IFS Connect and Web Services

Authentication for web services exposed using IFS Connect and the SOAP Gateway handled by the application server in the same way as for interactive clients. Services are typically configured for Username / Password authentication using JAAS.

Illustration of 3rd party client software connecting to IFS Connect SOAP Gateway

The password (or other authentication credentials) are not included within the SOAP XML messages, but are included in the HTTP authentication stages. For example, in Username / Password authentication using JAAS authentication mode, the authentication credentials are in the HTTP Authorization header field.

The Web service client connecting to IFS Connect SOAP Gateway must be configured for the same authentication mode as the IFS application server's security filter. Also the web service client must be configured with valid credential (i.e. a username/password) for authenticating with the application server.