我們得到了一個使用Spring安全性3.0.8保護的Web應用程序。我們對ajax使用DWR,相當多。現在,我們要拒絕訪問所有DWR調用,除非明確指定:一起使用denyAll()和permitAll()Spring安全3.0.8不起作用
這是我做的,但不工作:
<!-- Deny every url which is dwr call -->
<intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/>
<!-- give access to SomeDWRClass for ROLE_A -->
<intercept-url pattern="/js/dwr/**/SomeDWRClass**" access="hasAnyRole('ROLE_A')"/>
<!-- Give access to everybody for CommonDwr.aCommonMethod.dwr -->
<intercept-url pattern="/js/dwr/CommonDwr.aCommonMethod.dwr" access="permitAll"/>
的問題是,每當有到CommonDwr.aCommonMethod通話.dwr其顯示訪問被拒絕。爲什麼?是因爲denyAll比有更多的優先權嗎?。
如果是的話,我該如何解決這個問題?我確信有很多人必須像這樣保護他們的應用程序。
我們這樣做的主要原因是,如果有新來的人來寫一個新的DWR類,默認情況下該權限應該被拒絕,以便他們可以明確地爲新類設置一個訪問角色。
謝謝。 「創建角色來限制開發人員」 - 實際上沒有。我們只是遵循安全政策 - 「默認拒絕」 – avijendr