2011-12-12 10 views
13

Desidero escludere un solo file JSP question.jsp da security-constraint.Escludere un JSP dal contatore di sicurezza di web.xml

Ho questo dal mio web.xml:

<security-constraint> 
    <display-name>My Security Constraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>Protected Area</web-resource-name>  
     <url-pattern>*.do</url-pattern> 
     <url-pattern>*.jsp</url-pattern> 
    </web-resource-collection> 
    <auth-constraint>  
     <role-name>*</role-name> 
    </auth-constraint> 
</security-constraint> 
+0

È possibile creare una cartella e inserire tutto il resto (tranne question.jsp) in tale cartella e utilizzare tale modello, ad es. '/ Securefolder/*. Jsp'. –

+0

Ho così tanto JSP quindi è molto rischioso. c'è un'altra soluzione? –

risposta

0

Un modo per andare su questo è quello di spostare tutti i tuoi contenuti sicura JSP per un percorso di directory specifica (per esempio/protetto/dalla radice web) e poi il contenuto web.xml sarà simile:

<security-constraint> 
    <display-name>My Security Constraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>Protected Area</web-resource-name>  
     <url-pattern>/protected/*.jsp</url-pattern> 

Potete lasciare i vostri JSP pubbliche docroot di default o ad un altro percorso di directory come richiesto.

+0

grazie per la tua risposta, ho pensato a questa soluzione, ma non posso applicarla, ho così tanti JSP quindi è molto rischioso. c'è un'altra soluzione? –

+0

@naj_ib Non riesco a capire perché consideri più rischioso che menzionare semplicemente '* .jsp' –

+0

perché il progetto web è molto grande e non ho bisogno di operare quella soluzione per un solo jsp –

24

Basta aggiungere una sezione di pagine libere, senza fornire alcun vincolo di autorizzazione. Avrà la precedenza sulle pagine protette:

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>free pages</web-resource-name> 
    <url-pattern>/question.jsp</url-pattern> 
    </web-resource-collection> 
</security-constraint> 
+2

Questo ha funzionato per me. –

+0

[Questo post di blog] (http://blog.mafr.de/2011/04/17/excluding-pages-from-auth/) è una buona recensione sull'argomento. È necessario uno schema più specifico di quello sicuro per rendere pubbliche alcune risorse. – cheffe

Problemi correlati