2011-03-16 86 views
6

彈簧安全文檔狀態(2.3.2):春季安全:強制https使用註釋?

如果你的應用程序同時支持HTTP 和HTTPS,你需要 特定的URL只能通過HTTPS訪問 ,那麼這是直接支持的 使用需要通道 屬性上:

<http> 
    <intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https"/> 
    <intercept-url pattern="/**" access="ROLE_USER" requires-channel="any"/> 
    ... 
    </http> 

但我用我的控制器的註解,而不是攔截的URL元素。

  • 我可以通過註釋選擇性地執行HTTPS嗎?
  • 我可以強制HTTP用於非安全頁面嗎?

回答

3

從可用文檔看來,使用只有註釋可能無法強制執行渠道安全。

+1

它確實似乎是唯一的方法來做到這一點是通過攔截網址,這似乎破壞註釋(我註釋了所有我的控制器,並沒有使用攔截網址到這一點,猜我必須回溯)。感謝您提供此確認,這是非常有幫助的。 – 2011-03-17 06:07:59

1

有很多的例子,說明如何通過強制HTTP的非安全使用註釋使用Spring Security

http://www.jroller.com/habuma/entry/method_level_security_in_spring

spring not enforcing method security annotations

我不明白你的意思頁面。如果它不安全,那麼它已經是HTTP了。

+0

我沒有在這些鏈接中找到任何關於如何強制用戶使用** only註釋來使用HTTPS的鏈接。關於HTTP,當從安全頁面(例如帳戶頁面)轉換回正常的非安全頁面(作爲保持HTTPS流量達到最低限度的一種方式)時,我考慮將用戶降級爲HTTP。 – 2011-03-17 06:06:02

+0

@David:將頁面劃分爲安全且不安全的URL(最容易正確使用)是最容易的,如果你想在不安全的情況下從HTTPS降級到HTTP,請注意你可以使用'require-頻道=「http」'做到這一點。 – 2011-03-18 15:24:27