2014-12-04 1 views
3

Я знаю, ответ заключается в следующем:Перенаправление каждый запрос HTTP к HTTPS

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>All resources</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

и это работает довольно хорошо, но только если это только один безопасности ограничение в web.xml.

Как только я добавить второй безопасности-ограничение, что-то вроде этого:

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Admin section</web-resource-name> 
     <url-pattern>/admin/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>USER</role-name> 
    </auth-constraint> 
</security-constraint> 

Перенаправление перестает работать URL-адресов, которые указывают на раздел администрирования (в данном случае приложение показывает форму входа).

Есть ли способ включить перенаправление глобально через web.xml или конфигурацию дикой природы?

PS: протестирован с wildfly 8,2

+0

Вы можете настроить сервер для принудительного HTTPS – Rafael

+0

@ Rafael: каким образом? – Alf

+0

http://stackoverflow.com/questions/567434/force-https-for-entire-server-domain – Rafael

ответ

1

Вы пытаетесь добавить «пользователь-данные-ограничение» на второе «безопасность-ограничение»?

+1

Правильно это не похоже на ответ, но это правильный ответ на вопрос. Свойство 'CONFIDENTIAL' - это то, что используется для перенаправления с этим методом в WildFly, как [видно в этой теме] (https://developer.jboss.org/thread/235190) на JBoss.org. @JuliuszJ - может быть хорошей идеей переформулировать ваш ответ. Используйте ту же ссылку, что и я, если вы считаете ее актуальной. – Mike

+0

Это решение не решает проблему. Первое ограничение безопасности должно действовать как глобальный https «перенаправитель». Каждый раз, когда я набираю URL-адрес http в браузере, я должен быть перенаправлен на https-url. Что произойдет, если я добавлю новое ограничение безопасности и не удалю, чтобы добавить раздел ограничения пользовательских данных? Это склонно к ошибкам. Итак, возникает вопрос: есть ли способ разрешить перенаправление ** глобально ** через web.xml или конфигурацию wildfly? – Alf