Come reindirizzare richiesta pagina utente connesso
Domanda
Sto sviluppando un sito con Seam e JBoss 3 7. Sto usando la sicurezza Seam e JSF. La prima pagina del sito ha i controlli di accesso. Quando l'utente immette le sue credenziali che viene reindirizzato alla sua pagina utente "/ MySC".
Ma se l'utente connesso a pochi tipi radice dominio "/" arriva alla prima pagina. Quello che voglio è che quando l'utente è connesso-in, non dovrebbe essere in grado di accedere nuovamente alla pagina. Qualora chieda per andare alla prima pagina o immettere la radice del dominio nella barra degli indirizzi, voglio che essere reindirizzato a "/ MySC". Come posso fare?
Soluzione
È possibile utilizzare regola di navigazione SEAM che è abbastanza potente .. Si dichiara in page.xml ... È possibile dichiarare regola di navigazione condizionale lì ..
<page view id="/view.xhtml">
<navigation from-action="#{user.login}">
<rule if-outcome="successfull"><redirect view-id="/MySC.xhtml"/>
<message severity="Info">
Your login is successfull!.
</message>
</navigation>
</page>
Altri suggerimenti
Vi consiglio un piccolo restyling della struttura della pagina:. Rendere la pagina /start
fronte la pagina che un utente autenticato è permesso di vedere, e redirect al /login
se l'utente non è stato ancora confermato
Questo motivo è non solo detergente in termini di separazione degli interessi (consente di raggruppare la logica di autenticazione in una cartella distinta), risolve anche il problema di miscelazione principale del contesto e pagina di autenticazione.