我们得到了一个使用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