2013-03-08 1 views
3

Я ищу неограниченный доступ к файлам на корневом веб-сервере (страница приветствия), но по умолчанию имеет ограниченный доступ ко всем URL-адресам, которые разрешают вложенные папки.Безопасность web.xml: как получить root без ограничений, но все остальное ограничено?

У меня возникла проблема с тем, что при использовании/или/* для ограниченного доступа по умолчанию для ограничения доступа, то корневая папка больше не может быть неограниченной. В корне есть индекс по умолчанию «index.html», который я хотел бы видеть при доступе к доменному имени. Любые советы приветствуются.

Кстати, я использую причал 6.1.6

Это фрагмент моего файла web.xml:

<servlet-mapping> 
    <servlet-name>SomeServlet</servlet-name> 
    <url-pattern>/servlet1</url-pattern> 
</servlet-mapping> 

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>ForbidDefaultAccess</web-resource-name> 
    <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint/> 
</security-constraint> 

<security-constraint> 
    <web-resource-collection> 
    <!-- unauthorized -->  
    <web-resource-name>GrantAccess</web-resource-name> 
    <url-pattern>/some_dir/*</url-pattern> 
    <url-pattern>/servlet1</url-pattern> 
    <url-pattern>/</url-pattern>  
    </web-resource-collection> 
</security-constraint> 

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>AuthorizedResources</web-resource-name> 
    <url-pattern>/cfg/*</url-pattern> 
    <url-pattern>/fileupload/*</url-pattern> 
    <url-pattern>/list/*</url-pattern> 
    <http-method>GET</http-method> 
    <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
    <role-name>UserRole</role-name> 
    </auth-constraint> 
</security-constraint> 

Заранее спасибо

ответ

0

Вы можете создать Filter , применяется ко всем URL. Убедитесь, что он проверяет глубину URL-адреса (в основном, количество косых черт) и разрешает или запрещает доступ к ресурсу соответственно, используя chain.doFilter() в первом случае и бросая HTTP 403 error во второй случай.

+0

ли тогда какие-либо записи в web.xml конкретно предоставления доступа по-прежнему работать? – Houtman

3

Белый список можно в Java J2EE 6

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Disable unneeded HTTP methods by 403 Forbidden them</web-resource-name> 
     <url-pattern>*</url-pattern> 
     <http-method-omission>GET</http-method-omission> 
     <http-method-omission>HEAD</http-method-omission> 
     <http-method-omission>POST</http-method-omission> 
     </web-resource-collection> 
    <auth-constraint /> 
</security-constraint> 

ссылка: https://blogs.oracle.com/nithya/entry/new_security_features_in_glassfish

 Смежные вопросы

  • Нет связанных вопросов^_^