我有一个applet类,它试图读取客户端系统中的文件。但是当访问这个文件时,我得到了java。木卫一。文件传输错误
JAVA安全AccessControlException:访问被拒绝(“java.io.FilePermission”C:\my\u download\mytext\u 11May“read”)
我可以使用JRE 1.6访问该文件。但是当小程序使用jre1时。8将引发上述异常。
我的策略文件在用户主位置:
grant codeBase "file:${java.home}/lib/ext/*" {
permission java.security.AllPermission;
};
grant {
permission java.security.AllPermission;
};
grant codeBase "https://*.mydomain.net-" {
permission java.security.AllPermission;
};
在1.6中,只有在默认授权块中提供AllPermission时,它才起作用。
下面是我用来访问该文件的代码:
File sourceDir = null;
try {
sourceDir = (File) AccessController
.doPrivileged(new PrivilegedExceptionAction<File>() {
public File run() {
return new File(filePath);
}
});
} catch (PrivilegedActionException e) {
System.out.println(e.getMessage()+"-----");
e.printStackTrace();
} catch(Exception e) {
System.out.println("EEEException: " + e.getMessage());
e.printStackTrace();
}
奇怪的是,catch块也没有执行。它执行调用方方法的catch块。
jar使用所有必要的域和权限进行签名,如下所述。
Permissions: all-permissions
在同一个jar中,当我尝试写操作时,即使没有使用版本1.6和1.8的策略文件,它也能正常工作。只有当我试图阅读它时,我才会得到这个异常。在1.6中,我通过使用java策略来克服,但这在1.8版中没有帮助。
提前感谢您的帮助!
经过大量研究,找到了解决方案。
从小程序调用的方法必须在AccessController中包围。双特权区。
Ex:
public void methForApplet(){
AccessController
.doPrivileged(new PrivilegedExceptionAction<Object>() {
public Object run() {
actualMethToBeExecuted();
return null;
}
});
}
这在没有策略文件的情况下在java 1.8和1.6中工作。
它与49.0版本完美地工作。 Browsestack功能 “浏览器”:“Firefox”,“Browserversion”:“”,“OS”:“Windows”,“OSVersion”:“7”,“分辨率”:“1024x768”,“提线木偶”:true 更奇怪的事。它与Selenium 3.0.1 beta2和Firefox 49,51,52一起工作,至少用于is is_displained方法,但是
我正在尝试将DataStudio报表连接到表和来自BigQuery的视图。在BigQuery中,表从位于我的驱动器中的GoogleSheet接收数据,视图正在查询同一个表,但添加了一些新字段。当我尝试将图表连接到其中一个数据源时,出现以下错误: BigQuery错误:访问被拒绝:BigQuery BigQuery:获取驱动器凭据时权限被拒绝。 原因是什么?我该怎么做才能解决这个问题? 我要说的是,
从今天起,我们的Airflow服务无法访问BigQuery中的查询。所有作业都会失败,并显示以下消息: [2021-03-12 10:17:28079]{taskinstance.py:1150}错误-原因:403获取https://bigquery.googleapis.com/bigquery/v2/projects/waipu-app-prod/queries/e62030d7-36eb-4
问题内容: 我已经在centos 7上安装并配置了jenkins。在文件 /etc/init.d/jenkins中* 添加了有效的 Java路径, 即“ / usr / bin / java” 。 * 以下是Java路径detils: 现在,以 root用户 运行“ service jenkins start”命令后,出现以下错误。 我无法弄清楚为什么即使每个用户都可以访问Java路径,它也会拒绝
我有一个加密类(PGP加密util),只接受java.io.File对象。用于加密的内部方法(位于jar中)只接受java.io.File作为参数。 我需要从共享路径中读取一个文件,其中身份验证需要访问和ancrypt相同的文件,并写回相同的共享路径。所以我使用jcifs文件读取。它读取文件为SmbFile格式。 我这里有2个疑惑 1)是否有可能将SmbFile转换为java.io.文件,而不将内