Domanda

Sono abbastanza nuovo su JSF e sulle molte tecnologie correlate disponibili.

Sto cercando di creare un sito Web con un'intestazione che includa un logo, collegamenti di navigazione e una casella di accesso, in modo che questa intestazione possa essere facilmente inclusa in tutte le pagine del sito a meno che l'utente non acceda, in cui nel caso in cui apparirà un'intestazione diversa. Qualcosa di simile a livejournal .

Ho esaminato alcune soluzioni come la creazione di un componente JSF personalizzato per gestire il login e la combinazione con frammenti JSP e / o facelets. Ma dopo molte ricerche su Google, non ho davvero trovato nessuno che abbia provato a creare un componente di accesso personalizzato e le informazioni sulla creazione di un'intestazione come questa sono scarse. Quindi è davvero il modo giusto di risolvere il mio problema? C'è una soluzione migliore?

Grazie in anticipo.

È stato utile?

Soluzione

Sicuramente userò Facelets poiché questo ti permetterà sostanzialmente di includere la stessa intestazione in ogni pagina.

In termini di un componente di accesso personalizzato, dipende da come gestisci il tuo accesso. Se stai usando JAAS o Spring Security dovrai integrarti con loro (può essere fatto).

Tuttavia, un'intestazione di accesso non deve essere difficile. Ad esempio, potresti semplicemente fare qualcosa del tipo:

<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}" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top