Pregunta

Soy bastante nuevo en JSF y en las muchas tecnologías relacionadas que existen.

Estoy tratando de crear un sitio web que tenga un encabezado que incluya un logotipo, enlaces de navegación y un cuadro de inicio de sesión, de modo que este encabezado se pueda incluir fácilmente en todas las páginas del sitio a menos que el usuario inicie sesión, en el que caso aparecerá un encabezado diferente. Algo similar a livejournal .

He analizado algunas soluciones, como crear un componente JSF personalizado para manejar el inicio de sesión y combinarlo con fragmentos JSP y / o Facelets. Pero después de muchas búsquedas en Google, realmente no he encontrado a nadie que haya intentado crear un componente de inicio de sesión personalizado y la información sobre cómo crear un encabezado como este es escasa. Entonces, ¿es esta realmente la forma correcta de resolver mi problema? ¿Hay una mejor solución?

Gracias de antemano.

¿Fue útil?

Solución

Definitivamente usaría Facelets, ya que básicamente te permitirá incluir el mismo encabezado en cada página.

En términos de un componente de inicio de sesión personalizado, depende de cómo esté manejando su inicio de sesión. Si está utilizando JAAS o Spring Security, deberá integrarse con ellos (se puede hacer).

Sin embargo, un encabezado de inicio de sesión no tiene por qué ser difícil. Por ejemplo, podría hacer algo como:

<h:form id="loginForm" rendered="#{! loginBean.loggedIn}">
    Username: <h:inputText id="username" value="#{loginBean.username}" />
    Password: <h:inputPassword id="password" value="#{loginBean.password}" />
    <h:commandButton value="Login" action="#{loginBean.login}" />
</h:form>
<h:outputText rendered="#{loginBean.loggedIn}" value="You are logged in as #{loginBean.username}" />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top