2012-02-14 63 views
1

是否有一個完整的例子,其中always-use-default-target用於Spring Security?特別是我在以下鏈接問了以下問題 「這是否意味着對於任何請求的頁面,春季安全將開始檢查用戶是否已經登錄?如果不是,那麼如果你的意思是說只有/安全/小貓。 html被請求,春天會嘗試檢查用戶是否登錄,我想知道這個檢查是在哪裏或如何進行的?我詢問的原因是我剛剛測試過,但它沒有工作,我想知道如果我必須寫一些重定向邏輯/secure/kittens.html?總是使用默認目標樣本

Spring MVC and login redirect

回答

2

Spring將使用一個過濾器,使基於配置的安全檢查。在你的春季安全配置,您需要爲/secure/kittens.html(或更多)設置一個條目通用/安全)告訴spring-security用戶必須被認證,或者必須具有給定的角色才能查看頁面。一旦配置完成後,過濾器將檢查您的規則,以便查看用戶是否有權查看該頁面。否則,spring-security會將它們發送到配置的登錄頁面。

看看configuration of spring-security,特別是截取url配置的例子,爲你的url空間配置spring-security。該配置頁面也有配置always-use-default-target的示例。同樣,請注意,規則是​​按順序進行評估的,因此在列表頂部的一般情況檢查將在底部的特定規則之前進行匹配,因此請確保您的規則按照特定的順序排列。

+0

完美,這就是我一直在尋找的。謝謝 – 2012-02-14 20:06:21

0

正如前面提到的,在你的春季安全配置將定義要由FilterChainProxy處理的URL的intercept-url但爲了更加精確,這是RequestCacheAwareFilter將在順序檢索來自RequestCache一個SavedRequest以適當地將用戶重定向到最初請求的URL。