SSL только при входе в систему с весенней безопасностью - PullRequest
3 голосов
/ 02 августа 2011

Я пытаюсь использовать https только при входе в систему.

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

Вот конфигурация, которую я использую:

<s:http auto-config="true" access-denied-page="/erro-403"
    create-session="never">

    <s:port-mappings>
        <s:port-mapping http="8080" https="8443" />
    </s:port-mappings>

    <s:intercept-url pattern="/preferencias" access="IS_AUTHENTICATED_REMEMBERED"
        requires-channel="http" />
    <s:intercept-url pattern="/admin/**" access="ROLE_SIPAS_ADMIN"
        requires-channel="http" />
    <s:intercept-url pattern="/area-prestador/**"
        access="ROLE_SIPAS_PRESTADOR, ROLE_SIPAS_ATENDENTE, ROLE_SIPAS_ADMIN"
        requires-channel="http" />


    <s:intercept-url pattern="/**"
        access="IS_AUTHENTICATED_ANONYMOUSLY,IS_AUTHENTICATED_REMEMBERED"
        requires-channel="https" />

    <s:form-login login-page="/login" default-target-url="/"
        authentication-failure-url="/login-error" always-use-default-target="false" />
    <s:logout logout-url="/logout" logout-success-url="/" />

    <s:remember-me />
</s:http>

<s:authentication-manager>
    <s:authentication-provider user-service-ref="authenticationMBean">
        <s:password-encoder hash="md5" base64="true" />
    </s:authentication-provider>
</s:authentication-manager>

Единственный найденный мной обходной путь - проверить опцию запомнить меня.

Есть идеи, что я делаю не так?

1 Ответ

2 голосов
/ 20 июня 2012

Хотя этот вопрос уже давно был опубликован, и я уверен, что автор уже нашел решение, я публикую этот ответ для дальнейшего использования.

Эта проблема обсуждается в Spring Security Часто задаваемые вопросы . Быстрое решение - добавить этот элемент к элементу s:http:

<s:session-management session-fixation-protection="none"/>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...