如何保护applicationContext-security

时间:2013-03-21 07:37:12

标签: spring spring-security

是否有办法阻止用户更改Spring Security框架中的applicationContext-security.xml,以便他无法更改应用程序的已定义拦截URL。

<intercept-url access="hasRole('ROLE_ADMIN')" pattern="/choices/**"/>
<intercept-url access="hasAnyRole('ROLE_SYSADMIN')" pattern="/departments/**"/>
<intercept-url access="hasAnyRole('ROLE_SYSADMIN')" pattern="/employees/**"/>

1 个答案:

答案 0 :(得分:0)

我还没有这样做,但你可以通过签署你的jar并在启动时以编程方式验证它来做到这一点。

Verifying Jar Signature

通过启动应用程序,您必须触发验证JAR文件的代码,并在签名不可用或操作时执行某些操作以使启动失败。

另请参阅:http://docs.oracle.com/javase/tutorial/deployment/jar/signindex.html

这不会阻止“攻击者”解压缩jar,修改代码并将其打包而不使用签名清单,但是工作量要高得多(根据您的验证和预防机制)。

至少你可以使用yGuard来混淆和缩小你的类文件。