java - JDBC 驱动程序连接需要什么权限?
问题描述
打包在jar
文件中的外部代码。它包含以下简单代码
Class.forName("com.teradata.jdbc.TeraDriver");
Connection con = DriverManager.getConnection(url, user, password);
这个 jar 从沙箱运行。
当我实施时效果很好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 驱动程序需要哪些其他权限才能工作?
解决方案
推荐阅读
- rust - 如何在另一个线程上读取标准输入的同时写入自己的进程标准输入
- arrays - 将数组置换为约瑟夫斯问题中的选择顺序
- android - 为什么我从 AutoclearedValue 得到这个异常?
- spring-webflux - 如何将 Base URI 设置为 Spring WebClient
- mysql - 外键约束'foreign_key'中的引用列'column'和引用列'Id'不兼容
- codeigniter-4 - Codeigniter 4 将上传的文件发送到 FTP 服务器
- c# - ASP.NET Core 中的 SQLite 每次调用都会使用越来越多的 RAM
- python - 计算列表中大于其邻居的数字
- gnuplot - 为多维数据绘制缺少数据点的线
- laravel - Laravel 分页标识