有没有办法将Gremlin表达式限制为Gremlin API?我想将gremlin作为一个规则引擎的一部分嵌入,但是可以调用例如过滤器是一种风险。
g.v(1).outE.filter{ new Socket('localhost', 8080). ... }
有没有办法将执行限制在一些安全的接口集上?
答案 0 :(得分:1)
一种方法可能是研究Groovy通过JVM安全性控制脚本执行所提供的功能。也许这些链接会有所帮助:
http://groovy.codehaus.org/Security http://www.chrismoos.com/2010/03/24/groovy-scripts-and-jvm-security/
作为JVM安全性的替代方案,还有这个编译定制器:
http://groovy-sandbox.kohsuke.org/
这将允许您编写过滤器,以防止脚本引用它们不应该的对象。