【发布时间】:2010-10-03 08:41:12
【问题描述】:
假设我有一个用 Java 编写的现有应用程序,我希望添加脚本支持。这对于 Groovy 来说是相当简单的(在 .Net 中对于任何 Iron 系列动态语言来说都是微不足道的)。
尽管添加支持微不足道,但它引发了一系列关于脚本执行和安全性以及如何实现该安全性的问题。
有没有人遇到过任何有趣的文章/论文或对此有任何见解想分享?特别是,我会对诸如执行上下文、脚本身份验证、脚本签名等架构方面的东西非常感兴趣......你知道,那种阻止用户运行他们刚刚下载的任意脚本的东西搞砸了他们的整个应用程序,同时仍然让脚本变得有用和灵活。
快速编辑
我将签名和身份验证视为不同的实体,因为我将它们视为安全的不同方面。
例如,作为应用程序的开发人员/供应商,我分发了一个签名脚本。该脚本在设计上具有合法的“数据破坏性”。就其本质而言,它只能由管理员运行,因此绝大多数用户/系统进程不应该能够运行它。在这种情况下,在我看来,根据脚本执行的操作和运行该脚本的人员,需要某种安全/身份验证上下文。
【问题讨论】:
标签: java security architecture groovy scripting