我正在尝试在我的Maven Web项目中使用OWASP ESAPI库。我面临的问题是控制器无法找到ESAPI属性文件。
我尝试将它们放在资源文件夹中,但它不起作用。我似乎无法使它工作。
有人可以帮助我在Maven项目中找到ESAPI资源的正确位置。
答案 0 :(得分:2)
实现类的类Javadoc,[DefaultSecurityConfiguration](http://owasp-esapi-java.googlecode.com/svn/trunk_doc/latest/org/owasp/esapi/reference/DefaultSecurityConfiguration.html),描述了如何找到ESAPI.property类。它相当复杂,并且已经在ESAPI用户邮件列表上多次讨论过,因此您会感到困惑并不奇怪。 (如果有人花时间创建一个问题,这是我认为应该在ESAPI FAQ中的第一个问题。)
我们在Maven中发现了一些错误,如果ESAPI.properties文件的完整路径包含其中的任何空格(例如,“C:\ Documents and Settings \ kww \ code \ ESAPI \ configuration \ esapi \ ESAPI.properties“),Maven似乎扼杀它并且无法找到它。 (注意,如果这是你的路径,你可以告诉Maven在“C:\ Docume~1 \ kww \ code \ ESAPI \ configuration \ esapi \ ESAPI.properties”下查看,这似乎有效。)
我通常建议人们将系统属性“org.owasp.esapi.resources”从java命令行设置为某个没有空格的文件夹,然后在那里复制您的ESAPI.properties。 (这也在前面提到的Javadoc中讨论过。)
最后,如果您感到困惑,请查看“src / examples / scripts”下的一些Bash脚本,例如“runclass.sh”,并希望(如果您可以阅读Bash),那应该告诉您如何这很有效。
希望有所帮助。 -kevin