2015-04-01 121 views
0

我想appfuse,我已經在menu.jsp中添加了一些自定義菜單(沒有在menu-config.xml中做,因爲我想添加一些圖形和struts菜單可以'做T吧)Appfuse彈簧安全hasRole()不工作

所以對於隱藏/顯示菜單,我想使用Spring Security授權標籤

<security:authorize access="hasRole('ROLE_ADMIN')"> 
         <li> 
          <a href="test.jsp"><i class="fa fa-edit fa-fw"></i> Forms</a> 
         </li> 
</security:authorize> 

,但這個標籤會導致李艾科!錯誤(錯誤500),控制檯中沒有顯示任何內容。連我都

<Logger name="org.springframework.security" level="all"/> 
<Logger name="org.springframework" level="all"/> 

log4j2.xml.

如果我切換到<security:authorize ifAnyGranted="ROLE_ADMIN">它按預期工作。然而據我所知,ifAnyGranted已被棄用。

我很好奇爲什麼我在輸出控制檯中看不到錯誤?

我使用的appfuse用SpringMVC 3.5,與碼頭運行:運行

+0

在http realm描述中有'use-expressions = true'屬性嗎?像這樣: 2015-04-01 17:03:37

+0

哦,你說得對,我沒有啓用基於表達式的訪問控制,我添加了該指令,並按預期工作!即使我仍然不明白爲什麼在控制檯顯示非錯誤...我認爲你應該發佈這個答案 – Kossel 2015-04-01 17:25:39

回答

0

好,因爲亞歷克斯沒有把答案,我將發佈它自己

我不得不添加使用表達式=」 true「在security.xml中的http TAG中

例如