2011-02-10 91 views
4

我在jsp中有關於以下的等價物。這裏也沒有顯示!Spring Security授權標籤始終爲假

我第一次進軍Spring Security 3.0.5。我已經使用3.0.3沒有問題。

<sec:authorize ifNotGranted="ROLE_ACTIVE"> 
    here 
</sec:authorize> 
<sec:authorize ifAnyGranted="ROLE_ACTIVE"> 
    there  
</sec:authorize> 
+0

我應該在任何地方添加任何錯誤或警告。其餘的頁面呈現良好。 – 2011-02-10 18:50:29

回答

7

感謝您的見解。我發現這是因爲過濾器映射的順序。春季安全需要在Sitemesh之前。

不知道如果沒有我發佈這麼多看似微不足道的項目,任何人都可以得到。

我知道將來發布web.xml。可能只是更多地關注成爲問題的來源。

1

看起來像ifNotGranted和ifAnyGranted不贊成使用訪問表達式。嘗試類似

<sec:authorize access="hasRole('ROLE_ACTIVE')">here</sec:authorize> 
+0

剛剛嘗試過它仍然沒有去。很高興知道他們已被棄用,但我會猜測會使用訪問權限。 – 2011-02-10 18:57:28

+0

接下來的問題是,如果您的委託人正確設置(.i.e。具有您認爲他們這樣做的角色)以及您的代碼是否正在評估。如果你查看源文件,你沒有 digitaljoel 2011-02-10 20:11:10

+0

permitAll仍然不會呈現內容。我知道他們的角色是正確的,因爲它確實保證並允許訪問給定角色的@Secured的SpringMVC @RequestMapping。控制器的安全性似乎很好。 – 2011-02-26 19:15:42

1

如果你設置好的過濾器=「無」 JSP頁面,寫上面的代碼在同一個JSP那麼你的授權代碼會始終返回false。

你可以參考這個問題,你的問題可能是一樣的我相信。

Spring security login/logout url related issue

如果你的問題是你能不能詳細瞭解您的安全配置不同,那麼。