La génération d'un Visages Contexte manuellement

J'ai deux systèmes, je suis en train de l'intégrer. L'un est construit sur des servlets, la nouvelle est de construire, sur la JSF avec IceFaces. Je suis en train de faciliter la croix-système de signe sur. L'idée, c'est que j'ai un bouton dans l'ancien système qui affiche les informations appropriées sur le nouveau site et les journaux.

Bien, idéalement, je voudrais utiliser un vieux servlet pour faciliter que sur le nouveau site. Allez sur le nouveau site de la Servlet, faire ce qu'il doit faire et à l'avant sur le tableau de bord.

Notre sécurité est assurée par un managed bean. Cependant, au moment où vous arrivez à la Servlet, il n'y a pas de visages contexte. Alors, comment pourrais-je créer un nouveau visages contexte?

Je avoir un plan de sauvegarde en qui je peux toujours le lien à un mannequin .iface page qui permettront de créer le FacesContext pour moi et puis créer un backing bean qui va faire des trucs quand il fait instanciée et puis vers l'avant sur la page principale. Mais cela ressemble beaucoup à un hack.

Toute aide serait appréciée!

EDIT: je suis allé avec le dos. En gros, je POST à une page comme ceci:

<f:view>
   <ice:outputText value="#{EntryPoint}"/>
</f:view

Le backing bean à la recherche comme si...

public EntryPoint() {
      try {
         HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
         HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); 
         String loginID = request.getParameter("loginID");
         //Do some code to load the user/permissions
         response.sendRedirect(
            //The appropriate page
         );
      } catch (IOException ex) {
         logger.error(null, ex);
      } catch (SQLException ex) {
         logger.error(null, ex);
      }
   }

Il se sent encore comme un hack, mais je ne suis pas sûr de la façon de contourner ce problème. Idéalement, j'aimerais publier une servlet, obtenir l'identifiant de connexion, construire l'utilisateur et de le mettre directement dans le managed bean. Mais, le FacesContext n'existe pas à ce point.

D'autres idées?

OriginalL'auteur Drew | 2009-02-26