J'ai deux systèmes que j'essaie d'intégrer. L'un est construit sur des servlets bruts, le nouveau est construit sur JSF avec IceFaces. J'essaie de faciliter la connexion entre systèmes. L'idée est que j'ai un bouton dans l'ancien système POST les informations appropriées sur le nouveau site et les connecte.Génération manuelle d'un contexte de visages
Eh bien, idéalement, je voudrais utiliser simplement une ancienne servlet régulière pour faciliter cela sur le nouveau site. Accédez au servlet du nouveau site, faites ce qu'il doit faire et l'avant sur le tableau de bord.
Notre sécurité est gérée via un bean géré. Cependant, au moment où vous arrivez à la servlet, il n'y a pas de contexte de visages. Alors, comment pourrais-je créer un nouveau contexte de visages? J'ai un plan de sauvegarde en ce sens que je peux toujours créer un lien vers une page .iface factices qui créera le FacesContext pour moi et ensuite créer un bean backing qui fera des choses quand il sera instancié et ensuite avancer sur la page principale . Mais cela ressemble beaucoup à un hack.
Toute aide serait appréciée!
EDIT: Je suis allé avec la façon de sauvegarder. En fait, je POST à une page comme ceci:
<f:view>
<ice:outputText value="#{EntryPoint}"/>
</f:view
La fève de soutien à 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);
}
}
Cela se sent encore comme un hack, mais je ne suis pas sûr de savoir comment se déplacer ce. Idéalement, je posterais un servlet, j'obtiendrais le loginID, je construirais l'utilisateur et le placerais directement dans le bean géré. Mais, le FacesContext n'existe pas à ce stade.
D'autres idées?
La seconde est la réponse que je cherchais et le premier était mon plan de secours si je ne pouvais pas comprendre le premier. L'idée était que le site Servlet hérité (sa propre application Web et son fichier WAR) redirigeait l'utilisateur avec un POST et des informations d'identification vers la nouvelle application Web. Y a-t-il une meilleure manière de faire cela? – Drew