外部代码打包在jar
文件中。它包含以下简单代码
Class.forName("com.teradata.jdbc.TeraDriver");
Connection con = DriverManager.getConnection(url, user, password);
此罐子从沙盒运行。
当我实现AllPermission
Permissions permissions = new Permissions();
permissions.add(new AllPermission));
但是,当我施加限制时会引发错误
Caused by: java.lang.NullPointerException
at com.teradata.tdgss.jtdgss.TdgssConfigApi.GetMechanisms(Unknown Source)
这是我使用的权限列表
Permissions permissions = new Permissions();
permissions.add(new FilePermission(filePermission, "read,write,delete"));
permissions.add(new PropertyPermission("*", "read,write"));
permissions.add(new SocketPermission("*", "connect,resolve"));
permissions.add(new NetPermission("setDefaultAuthenticator,requestPasswordAuthentication"));
permissions.add(new SerializablePermission("enableSubstitution,enableSubclassImplementation"));
permissions.add(new ReflectPermission("suppressAccessChecks"));
// what permission is missing for the JDBC to work?
JDBC驱动程序需要其他什么权限?
答案 0 :(得分:0)
关于JDBC安全性的Oracle blog,有很多权限可以设置。
SQLPermission
可能丢失了,需要弄清楚其他地方。 @Andreas提供了一篇很棒的文章on troubleshooting security。