Безопасный сеанс Cookie + Glassfish 3.1 - PullRequest
3 голосов
/ 03 января 2012

Я ищу решение, подобное этому: httpOnly Session Cookie + сервлет 3.0 (например, Glassfish v3)

Я хочу отключить HTTP-заголовки: только для http и Secure, чтобы аутентификация по протоколу https переносилась на запросы http.

Тем не менее, 1 Относящийся к другому посту. Я не использую сервлет 3.0. Возможно, я захочу попробовать использовать сервлет 3.0, если где-нибудь была достойная документация о том, как перенести проект intellij с serverl 2.5 на 3.0. Не кажется очевидным, как это использовать. Изменение моего maven pom на javax.servlet 3.0, а затем редактирование моей версии web.xml до 3.0 не работает. Дает фацетную ошибку в версии 3.0. Вздох.

  1. Это мой основной подход к решению этой проблемы. Я отредактировал домены / domain1 / config для default-web.xml и domain.xml так, как я думал, будет работать, но это не так. Документация Oracle не кажется мне очень ясной по этому поводу.

domain.xml

<web-container>
    <session-config>
      <session-manager> 
        <manager-properties></manager-properties>
        <store-properties></store-properties>
      </session-manager>
      <session-properties>
        <property name="cookieSecure" value="false"></property>
        <property name="cookieHttpOnly" value="false"></property>
      </session-properties>
    </session-config>
      </web-container>

....

<configs>
<config name="server-config">
  <http-service sso-enabled="true">
    <access-log></access-log>
    <virtual-server id="server" sso-cookie-secure="false" sso-cookie-http-only="false" network-listeners="http-listener-1,http-listener-2"></virtual-server>
    <virtual-server id="__asadmin" sso-cookie-http-only="false" network-listeners="admin-listener"></virtual-server>
  </http-service> 

по умолчанию-web.xml

    <session-config>
    <session-timeout>60</session-timeout>
        <cookie-config>
                <http-only>false</http-only>
                <secure>false</secure>
        </cookie-config>
        <cookie-properties>
                <property name="cookieSecure" value="false" />
                <property name="cookieHttpOnly" value="false" />
        </cookie-properties>
        <tracking-mode>COOKIE</tracking-mode>
  </session-config>

1 Ответ

4 голосов
/ 15 января 2012

Хорошо, я чувствую себя немного глупо, но обычно я никогда не писал в определенный контейнер раньше, чтобы убедиться, что мой код переносим между контейнерами. Однако после некоторых исследований я обнаружил, что вы можете поместить файл WEB-INF / glassfish-web.xml, который выглядит следующим образом, для управления настройками cookie-файлов безопасности для каждого файла WAR в glassfish.

http://blogs.oracle.com/jluehe/entry/ow_to_configure_the_security

    <?xml version="1.0" encoding="UTF-8"?>
        <glassfish-web-app>
            <session-config>
                <cookie-properties>
                    <b><property name="cookieSecure" value="[true|false|dynamic]"/></b>
               </cookie-properties>
           </session-config>
       </glassfish-web-app>
...