para name metatags keywords google etiquetas ejemplos description crear content web-applications servlets passwords jetty cometd

web-applications - metatags - meta name keywords



Haga coincidir patrón de URL de embarcadero con solo el directorio raíz (1)

Aquí está la respuesta para ti:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <session-config> <session-timeout> 30 </session-timeout> </session-config> <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> <security-constraint> <web-resource-collection> <web-resource-name>Public page</web-resource-name> <url-pattern>/test/*</url-pattern> </web-resource-collection> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Test Realm</realm-name> </login-config> </web-app>

En esta configuración, el directorio raíz está protegido con contraseña y el directorio /test/... no. Creo que esto es lo que estás pidiendo.

Esta configuración se prueba en Tomcat 7+ y en un nuevo proyecto creado desde el principio en NetBeans (puedo enviarle un correo electrónico a toda la fuente si la necesita).

Este es el resultado:

Solo me gustaría proteger con contraseña el directorio raíz en mi ruta de contexto para Jetty WebApp. Mi ruta de contexto es / MyApp, por lo que me gustaría solicitar una contraseña para acceder:

http://localhost:8080/MyApp

PERO NO por:

http://localhost:8080/MyApp/cometd

Mi configuración actual es inferior (preste atención al patrón url):

<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>

Esperaría que esto funcione solo por la naturaleza de cómo / y / * trabajo en general. También he visto este recurso, que creo que sugiere que esto debería funcionar: 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>

parecen estar actuando exactamente igual: ambos

http://localhost:8080/MyApp

y

http://localhost:8080/MyApp/cometd

Ambos están protegidos con contraseña.

Por supuesto, si cambio a / nothingisherehere, solo como una prueba de cordura, nada está protegido con contraseña, excepto para / MyApp / nothingishere

¿Alguien sabe cómo proteger solo el directorio raíz para los servlets web?