Attualmente sto scrivendo una piccola applicazione web dinamica in Java. L'applicazione dovrebbe essere una piattaforma di eventi in cui è possibile creare un account utente, accedere e quindi è possibile visualizzare tutti gli eventi aperti (in un iterazione successiva, gli utenti possono creare/partecipare a tali eventi).Come posso gestire/limitare l'accesso degli utenti ai servlet e ai jsp?
In questo momento, la struttura del web-app potrebbe essere (semplificato) ha descritto in questo modo:
Register-Servlet -> Register.jsp
|
V
Login-Servlet -> Login.jsp
|
V
Main-page-Servlet -> Main.jsp
Così adesso, un utente potrebbe andare a Login.jsp, la sua login-informazione sarebbe da inviare al servlet di accesso, che lo convaliderà e quindi lo invierà al servlet della pagina principale. Il Main-Page-Servlet poi (dopo aver convalidato di nuovo il login) ottiene tutti gli eventi correnti da un database, lo allega alla richiesta e lo inoltra al Main.jsp, che lo mostra all'utente affinché lo veda.
Ora, se un utente desidera accedere direttamente a Main.jsp (senza venire dalla Main-Page-Servlet), ovviamente non può visualizzare gli eventi disponibili. La soluzione che sto utilizzando attualmente sta eseguendo un controllo null per verificare se gli eventi sono presenti e, in caso contrario, reindirizzare a Main-Page-Servlet.
Mi dà fastidio risolvere il mio problema in questo modo, poiché non penso che sia la migliore pratica e penso che creerà molti altri problemi più grande diventerà la mia applicazione.
Il mio primo pensiero è stato che potrebbe essere utile se potessi semplicemente "nascondere" tutti i .jsp dell'utente, in modo che l'utente possa atterrare solo sui servlet e non possa accedere a .jsp in un modo diverso .
C'è un modo per farlo? Oppure, in caso contrario, quale sarebbe la soluzione migliore se dovessi scrivere un'applicazione professionale a livello aziendale?
Verificare l'autenticazione e l'autorizzazione. Con i servlet, questi sono in genere implementati con e attorno a 'HttpSession'. –