2013-05-03 110 views
3

這裏覆蓋默認的登錄處理,網址爲春季安全表單登錄樣本配置什麼是用例在春季安全

<http auto-config="true" use-expressions="false"> 
     <form-login login-processing-url="/static/j_spring_security_check" 
        login-page="/login" 
        authentication-failure-url="/login?login_error=t"/> 
    </http> 

現在,如果我不指定任何顯式登錄處理的URL春天假設它只作爲「/ j_spring_security_check」。我找不到任何類型的默認和重寫之間的功能差異,並發現彈簧無縫地處理更改。我試圖做谷歌瞭解什麼時候應該重寫它。沒有一個答案讓我滿意。

那麼爲什麼我們應該重寫默認的登錄處理url呢?最重要的是,當我們「必須」重寫默認值時,是否有任何用例?

感謝

回答

9

如果你想隱藏你正在使用Spring Security的事實,你應該重寫login-processing-url以類似「表格/登錄」,以及用戶名和密碼的形式參數。這有助於隱藏您用於保護網站的框架。

<form-login>標籤是配置UsernamePasswordAuthenticationFilter的簡稱。此過濾器只會被login-processing-url中指定的URL調用,並將使用爲username-parameterpassword-parameter設置的值作爲請求的用戶名和密碼。

+0

這就是我搜索後發現的。但我不太確定這是否是唯一的用例。你知道Spring如何處理重寫嗎? – 2013-05-03 14:24:55

+0

我已經用更多的細節更新了答案。它最終都只是一個java過濾器,'form-login'配置了bean的屬性。 – 2013-05-04 04:01:12

+0

感謝周杰倫的細節。我很困惑,因爲我無法理解「/ j_spring_security_check」到「/ static/j_spring_security_check」會實現什麼隱藏功能?在「Spring In Action」中,我將其看作是一個例子,如果僅僅爲了隱藏 – 2013-05-04 10:58:42