2012-01-02 56 views
3

我在尋找一個類似的解決方案: httpOnly Session Cookie + Servlet 3.0 (e.g. Glassfish v3)安全會話Cookie + Glassfish的3.1

我想打開HTTP頭:僅HTTP和安全關,從而以https身份驗證跨HTTP請求進行。

但是, 1有關其他帖子。我沒有使用servlet 3.0。我可能願意嘗試使用servlet 3.0,如果有關於如何將intellij項目從serverl 2.5遷移到3.0的體面文檔。如何使用它似乎並不明顯。將我的maven pom更改爲javax.servlet 3.0,然後將我的web.xml版本更改爲3.0不起作用。在3.0版本上提供了一個方面錯誤。嘆。

  1. 這是我解決這個問題的主要方法。我編輯了default/web.xml和domain.xml的domains/domain1/config到我認爲可以工作的地方,但它沒有。 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> 

回答

4

好吧,我覺得有點傻,但我一般從來沒有寫在一個特定的容器之前,以確保我的代碼跨容器移植。然而,經過一番研究,我發現你可以放一個WEB-INF/glassfish-web.xml文件,看起來像這樣來控制glassfish下每個WAR文件的安​​全cookie設置。

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>