src/main/java/org/efaps/ui/wicket/EFapsSession.java
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;
    }
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.

@return true, if successful