Newsgroup: it.comp.java
Titolo: Proteggere "dall'accesso diretto" le pagine JSP

Vorrei che l'utente non sia in grado di richiamare dall'url
direttamente le mie pagine jsp e diciamo "forzalo" così ad usare il
modello mvc.
Ora non vorrei metterle sotto WEB-INF ma specificare determinate
cartelle (contenenti le jsp) in cui un normale utente del web non può
accedere.
Come si può fare tutto ciò?
grazie


forse con le <security-constraint>

 modello mvc.
beh, il modo piu' naturale, a mio avviso, e' proprio quello di mettere
le jsp in WEB-INF. Certi AS hanno parametri di configurazione che
consentono di disabilitare il listing, cioe' di accedere in lettura
alle risorse statiche. Altrimenti, un modo piu' complesso, potrebbe
essere l'uso di javax.servlet.Filter per bloccare le richieste a
pagine non permesse.
TREMALNAIK

 forse con le <security-constraint>
le security constraint non impediscono a un utente, una volta
autenticato, di accedere a risorse statiche nell'area "sicurizzata"
TREMALNAIK


si ma se il livello di autenticazione è admin credo non ci siano
problemi no?

 alle risorse statiche.
appunto penso che stiamo dicendo la stessa cosa .. la disabilitazione
del listing come la fai tu scusa? utilizzi le security constraints no?
ciao

 ha scritto nel messaggio 
news:1175597756.7...@n59g2000hsh.googlegroups.com...

la disabilitazione del listing non risolve affatto il problema,
l'utente puņ copiaincollare l'url o meglio ancora metterlo nei
preferiti.

 Come si può fare tutto ciò?
Io utilizzando WebWork ho risolto una problematica simile estendendo
l'ActionMapper e controllando cosa passa nell'url.
Che strumento utilizzi per l'implememntazione dell'MVC? Nel caso di
WebWork/Struts2 puoi provare a seguire questa strada...
CIAO!

 pagine non permesse.
Sottoscrivo: i filters mi sembrano l'opzione migliore.
Comunque onestamente per la protezione delle pagine JSP li uso molto poco
perchč, una volta protette le servlets, le pagine JSP non risultano - di
fatto - quasi mai navigabili perchč si aspettano parametri settati come
beans e non passati dalla request. Per cui la "protezione" delle pagine JSP
il piu' delle volte viene risolta con la corretta gestione delle eccezioni
che inevitabilmente queste rimandano se chiamate direttamente.

 preferiti.
ma scusa sto dicendo che proteggo la cartella dall'accesso. Cosa
c'entra ora l'url nei preferiti se all'utente non viene data la
possibilità di accedervi.
Con il framework mvc le .jsp nemmeno mi compaiono nell'url

 wrote:

a mano, mettendo le jsp in una cartella non pubblicata e tramite
servlet richiamarle con
ServletContext.getRequestDispatcher(path).forward().
oppure i framework che implementano le mvc consentono (anzi,
consigliano) di fare la stessa cosa operando opportunamente nella
configurazione.

 
La butto lě
1) si mappano le servlet
2) si mappano cosě le jsp
	<servlet>
		<servlet-name>ShowLogin</servlet-name>
		<jsp-file>/login.jsp</jsp-file>
	</servlet>
3) si proteggono le jsp in questo modo
	<servlet-mapping>
		<servlet-name>Errore</servlet-name>
		<url-pattern>*.jsp</url-pattern>
	</servlet-mapping>
4) si richiamano le jsp dalle serlvet con 
getServletContext().getNamedDispatcher("ShowLogin").forward(req, res);