Pergunta

Sou muito novo no JSF e muitas tecnologias relacionadas por aí.

Estou tentando criar um site que tenha um cabeçalho que inclua um logotipo, links de navegação e uma caixa de login, de modo que esse cabeçalho possa ser facilmente incluído em todas as páginas do site, a menos que o usuário faça login; nesse caso, um diferente um diferente O cabeçalho aparecerá. Algo semelhante a LiveJournal.

Eu procurei algumas soluções, como criar um componente JSF personalizado para lidar com o login e combiná -lo com fragmentos JSP e/ou facelets. Mas depois de muita pesquisa no Google, eu realmente não encontrei ninguém que tenha tentado fazer um componente de login personalizado e informações sobre a criação de um cabeçalho como esse é escasso. Então, essa é realmente a maneira certa de resolver meu problema? Existe uma solução melhor?

Desde já, obrigado.

Foi útil?

Solução

Definitivamente, eu usaria facelets, pois isso basicamente permitirá que você inclua o mesmo cabeçalho em cada página.

Em termos de um componente de login personalizado - depende de como você está lidando com seu login. Se você estiver usando o JAAS ou a segurança da primavera, precisará se integrar a eles (isso pode ser feito).

No entanto, um cabeçalho de login não precisa ser difícil. Por exemplo, você pode fazer 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top