11
|
Patrick Lightbody · 技术社区 · 15 年前 |
1
4
免责声明:我不是Java安全API的专家,所以可能有更好的方法来做这件事。 我为工作 Alfresco 基于Java的开源企业CMS,我们实现了与您所描述的类似的东西。我们希望允许脚本编写,但只将Java API的子集暴露给脚本引擎。 我们为JavaScript脚本选择了Rhino引擎。它允许您控制哪些API向JavaScript公开,这允许我们选择哪些类可用,哪些不可用。根据我们的工程师们的说法,开销在10%左右,还算不错。 除此之外,这也可能与您有关,在Java方面,我们使用Acegi(现在Spring Security),并使用AOP对用户可以调用的方法提供基于角色的控制。这对于授权来说很有效。因此,实际上,用户首先通过javascript访问我们的应用程序,他首先可以使用一个受限制的API,然后根据授权进一步限制该API。因此,您可以使用AOP技术来进一步限制哪些方法可以被调用,从而允许在其他脚本语言(如Groovy等)中公开这一点。我们也在添加这些方法,相信我们的底层Java API保护用户免受未经授权的访问。 |
2
3
您可以使用一个自定义类加载器,它在委托给父类之前,对类进行审查链接。
您可以创建自己的权限,检查安全敏感API中的权限,然后使用
您需要确保脚本引擎本身是安全的。《太阳里的犀牛》的JDK应该没问题,但不能保证。显然,您需要确保脚本的所有可用内容都是安全的。 |
3
0
在groovy中,您可以完全按照您提到的做。其实很简单。您可以轻松地限制在受信任环境中运行的不受信任脚本的权限,允许使用您自己的API,而API又可以执行不受信任的操作。 http://www.chrismoos.com/2010/03/24/groovy-scripts-and-jvm-security/ |
TheHidden · burp extension如何拦截所有流量 6 年前 |
awa993 · 从java调用python 7 年前 |
Cameron M. · 埃杜。斯坦福大学。自然语言处理。util。ReflectionLoading$ReflectionLoadingException当将CoreNLP与Jython一起使用时 7 年前 |
Aidenhjj · Python:在OOP中使用API事件处理程序 7 年前 |