Me gustaría proteger solo con contraseña el directorio raíz en mi ruta de contexto para Jetty WebApp. Mi ruta de contexto es/MiApl, así que me gustaría para requerir una contraseña para acceder a:Match jetty url-pattern solo en el directorio raíz
http://localhost:8080/MyApp
pero no para:
http://localhost:8080/MyApp/cometd
Mi configuración actual está por debajo (prestar atención a la 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>
Espero que esto funcione solo por la naturaleza de cómo/y/* trabajo en general. También he visto este recurso que creo que es lo que sugiere que esto debería más o menos trabajo: http://www.coderanch.com/t/364782/Servlets/java/there-key-difference-between-url
Sin embargo, para mi caso, los patrones de URL:
<url-pattern>/</url-pattern>
y
<url-pattern>/*</url-pattern>
parece para actuar exactamente igual: ambos
http://localhost:8080/MyApp
y
http://localhost:8080/MyApp/cometd
están ambos protegidos con contraseña.
Por supuesto, si cambio a/nothingishere, así como una prueba de cordura, no está protegido con contraseña, a excepción de/MyApp/nothingishere
¿Alguien sabe cómo sólo para proteger el directorio raíz para los servlets web?
Gracias, esto es _exactly_ lo que estaba buscando. – Drewch
Funciona para mí también :) Voy a otorgar recompensa tan pronto como se cumplan las 24 horas. –
por supuesto esta respuesta no solo para embarcadero, sino también para todos los servidores web compatibles con j2ee. Por lo tanto, es posible que desee cambiar el encabezado ... Por cierto, me alegro de haber ayudado – MaVRoSCy