0
我想爲插件庫編寫SecurityManager,我想知道如何/如果我可以使權限僅適用於插件目錄中的插件。目前權限適用於一切。SecurityManager範圍
import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.Permission;
public class PluginSecurityManager extends SecurityManager {
public PluginSecurityManager() {
this.context = AccessController.getContext();
System.setProperty("java.security.policy", "res/security/policy.txt");
}
public void checkPermission(Permission perm) {
this.checkPermission(perm, context);
}
public AccessControlContext getContext() {
return context;
}
private final AccessControlContext context;
}
政策文件
grant codeBase "file:/plugins/*" {
permission java.io.FilePermission "res/*", "read";
permission java.io.FilePermission "user.dir/ikaros-cache/cache.zip", "read";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};