Interface IHttpAuthenticator

    • Method Detail

      • authenticate

        String authenticate​(HttpServletRequest request,
                            HttpServletResponse response)
                     throws PortalException,
                            ContinueOnNextRequestException
        Performs the authentication for a given request.

        This method is called by the Portal when it identifies that it is necessary to authenticate a http request. The result of this method affects the Portal authentication execution flow as below:

        • Returns null - the http authentication failed, so the Portal proceeds to its default authentication.
        • Returns an userId - the Portal tries to login as the specified user and use it for the request's session.
        • throws ContinueOnNextRequestException - the portal will just return the current response and the next request should continue the authentication by reaching this method again.

        After authentication, the user may still not have access permission, and further authentication be requested by calling this method again. It is the responsability of the implementation of this method to identify when no futher authentication should be tried, to prevent an infinite loop of authentication attempts. When this is the case, this method must return null, to indicate that the http authentication failed.

        Parameters:
        request - the http request.
        response - the http response.
        Returns:
        the authenticated user id, or null if the authentication failed.
        Throws:
        ContinueOnNextRequestException - if the authentication did not complete and requires to wait the next request to proceed. This method may set the response with some data, and throw this exception to await the next browser request after receiving the response set. This is useful for authentications that need more than one request to complete the authentication.
        PortalException
        Since:
        4.0.10
        See Also:
        lumis.portal.authentication.http