包含的頁面假設我有一個main.jsp中,其中包括其他受保護的頁面如何安全使用Spring Security
<%
RequestDispatcher rd = request.getRequestDispatcher("secure/protected.jsp");
rd.include(request, response);
%>
<http auto-config="true" once-per-request="true">
<intercept-url pattern="/secure/**" access="ROLE_SUPERVISOR" />
....
</http>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
目前,我發現了什麼是:
- 春季安全過濾器實際上是被調用的。
- protected.jsp仍然顯示在main.jsp中。 (但我希望protected.jsp將由彈簧安全封鎖)
我已閱讀相關的討論: Spring Security Allows Unauthorized User Access to Restricted URL from a Forward
是能夠確保一個包含的JSP?如果不是,爲什麼? 我猜是因爲我們使用請求調度程序的時候,我們仍然通過原始請求,所以spring安全篩選器只知道原始請求路徑(main.jsp)並且不知道目標包含路徑(protectected.jsp)。因此,它不會阻止保護對象包含在內,但它不起作用。 我使用Spring安全性3.1.2。
'一次每個請求'必須設置爲'false'。 – 2014-09-30 08:08:56
@PavelHoral謝謝。嘗試過但它不起作用。 – Hawk 2014-09-30 08:22:20