2016-08-18 3 views
0

Я нашел это:Как включить HTTPS только весной

<security:http auto-config="true"> 
    <security:form-login .../> 
    <security:logout .../> 

    <security:intercept-url pattern="/reports" access="ROLE_ADMIN" requires-channel="https"/> 
    <security:intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" requires-channel="https"/> 
    <security:intercept-url pattern="/**" access="ROLE_USER" requires-channel="https"/> 
</security:http> 

В моем понимании, мы должны поместить это в web.xml, но мы не используем web.xml, мы используем конфигурацию Java , Как я могу это достичь? Есть ли что-нибудь, что я могу добавить в application.properties?

+0

Это должно указывать на правильное направление: http://stackoverflow.com/questions/26800200/spring-security-javaconfig-configure-required-channels-secure-insecure-any – bphilipnyc

ответ

0

То, что вы показываете, является файлом безопасности весны. Весеннюю безопасность можно настроить либо с помощью XML-файла (например, того, который вы показываете), либо с помощью конфигурации Java (см. Здесь: http://docs.spring.io/spring-security/site/docs/current/reference/html/jc.html).

Однако ваш вопрос: могу ли я включить HTTPS.

Вы также можете сделать это с помощью других способов. В Tomcat, например, вы можете это сделать, настроив server.xml (http://www.itworld.com/article/2769041/development/how-to-configure-tomcat-to-always-require-https.html и https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html).

Существуют аналогичные способы для других серверов JavaEE.

Вы также можете использовать SecurityConstraint в вашем web.xml (или Java на основе веб-конфигурации), так что он определяет КОНФИДЕНЦИАЛЬНО или INTEGRAL, как и в (фрагмент XML, но вы можете сделать это с помощью на основе конфигурации Java):

<user-data-constraint> 
    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
</user-data-constraint> 
Смежные вопросы