private boolean lazyLogin ( ) { boolean ret = false ; final HttpServletRequest httpRequest = ( ( ServletWebRequest ) RequestCycle . get ( ) . getRequest ( ) ) . getContainerRequest ( ) ; final HttpSession httpSession = httpRequest . getSession ( false ) ; if ( httpSession != null && ! ( httpSession instanceof HttpSessionCopy ) ) { for ( final ILoginProvider loginProvider : EFapsApplication . get ( ) . getLoginProviders ( ) ) { this . userName = loginProvider . login ( httpSession ) ; if ( this . userName != null ) { break ; } } if ( this . userName != null ) { openContext ( ) ; try { setAttribute ( EFapsSession . LOGIN_ATTRIBUTE_NAME , this . userName ) ; this . sessionAttributes . put ( UserAttributesSet . CONTEXTMAPKEY , new UserAttributesSet ( this . userName ) ) ; } catch ( final EFapsException e ) { EFapsSession . LOG . error ( "Problems with setting UserAttribues." , e ) ; } RegistryManager . registerUserSession ( this . userName , getId ( ) ) ; ret = true ; RequestCycle . get ( ) . setResponsePage ( GatherInfoPage . class ) ; } } return ret ; }
Lazy login is used in copmination with a Single Sign On mechanism .