我有一个应用程序,它加载插件(普通的jar文件)并从中运行代码。这些插件是使用URLClassLoader加载的。我想防止这些插件访问文件和其他资源,同时保留我的代码的所有权限。
以下是插件代码与我的应用程序及其库不同的两个特征: 1)它由此目的创建的URLClassLoader加载。 2)它的jar文件被复制到特定目录中,URLClassLoader从中获取它们。
但我不知道如何使用这两个特征来制定策略规则。类加载器不能在策略规则中使用(可以理解,它是在运行时创建的)。该目录可以用于授予特定权限,但无法收回权限。似乎也没有“除了此目录之外的任何地方的代码”的语法。
还有其他选项吗?
以下是插件代码与我的应用程序及其库不同的两个特征: 1)它由此目的创建的URLClassLoader加载。 2)它的jar文件被复制到特定目录中,URLClassLoader从中获取它们。
但我不知道如何使用这两个特征来制定策略规则。类加载器不能在策略规则中使用(可以理解,它是在运行时创建的)。该目录可以用于授予特定权限,但无法收回权限。似乎也没有“除了此目录之外的任何地方的代码”的语法。
还有其他选项吗?