Vorrei solo proteggere con password la directory root sul mio percorso di contesto per una Web App per Jetty. Il mio percorso contesto è/MyApp, quindi vorrei richiedere una password per l'accesso:Corrispondenza url-pattern molo solo directory root
http://localhost:8080/MyApp
ma non per:
http://localhost:8080/MyApp/cometd
Il mio attuale set up è al di sotto (prestare attenzione alla url-pattern):
<security-constraint>
<web-resource-collection>
<web-resource-name>Private Page</web-resource-name>
<url-pattern>/</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>moderator</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Test Realm</realm-name>
</login-config>
mi aspetterei questo lavoro giusto per natura di come/e/* lavoro in generale. Ho visto anche questa risorsa che credo sia suggerendo che questo dovrebbe più o meno lavoro: http://www.coderanch.com/t/364782/Servlets/java/there-key-difference-between-url
Tuttavia, per il mio caso, i modelli url:
<url-pattern>/</url-pattern>
e
<url-pattern>/*</url-pattern>
sembra di agire esattamente lo stesso: entrambi
http://localhost:8080/MyApp
e
http://localhost:8080/MyApp/cometd
sono ENTRAMBI protetti da password.
Naturalmente, se cambio a/nothingishere, proprio come un test di sanità mentale, non è protetto da password, ad eccezione di/frontend/nothingishere
Qualcuno sa come proteggere solo la directory principale per i servlet web?
Grazie, questo è _esattamente_ quello che stavo cercando. – Drewch
Funziona anche per me :) Ti assegnerò una taglia non appena saranno trascorse le 24 ore. –
ovviamente questa risposta non solo per il molo, ma per tutti i server Web compatibili con j2ee. Quindi potresti voler cambiare il titolo ... Btw, sono contento di aver aiutato – MaVRoSCy