我正在开发一个必须访问访问者文件系统的Java小程序,所以我压缩了我的。将
文件分类为
。当我打开
文件与我的浏览器(文件位于调用时,带有自签名证书的jar
文件。html
JAVA安全AccessControlException:访问被拒绝(java.io.FilePermission output.txt write)
我使用的是
FileInputStream
和FileOutputStream
FileInputStream
可以工作,但不能FileOutputStream
,为什么?
这是我的代码:
try {
AccessController.doPrivileged(
new PrivilegedExceptionAction() {
@Override
public Object run() throws FileNotFoundException {
outFile = new FileOutputStream("output.txt");
inFile = new FileInputStream("input.txt");
return "test";
}
}
);
} catch (PrivilegedActionException e) {
throw (FileNotFoundException) e.getException();
}
我已经尝试了很多方法来进行特权操作,
FileInputStream
总是工作,而FileOutputStream
不是。output.txt
不是只读文件。
访问权限是通过策略文件授予的,而appletviewer是通过要用于正在查看的小程序的策略文件启动的。
创建策略文件
策略工具是用于创建策略文件的Java 2平台安全工具。关于控制小程序的Java教程详细介绍了如何使用策略工具。这是运行小程序所需的策略文件。您可以使用策略工具创建它,或将下面的文本复制到ASCII文件中。
grant {
permission java.util.PropertyPermission
"user.home", "read";
permission java.io.FilePermission
"${user.home}/text.txt", "read,write";
};
这里是小程序权限的完整链接http://java.sun.com/developer/onlineTraining/Programming/BasicJava1/data.html
问题内容: 我有一个简单的自签名小程序(使用keytool和jarsigner完成): 基本上,它的作用是执行“记事本c:/hello.txt”。 然后,我将小程序嵌入html: 当我访问页面时,JRE启动并询问我是否要启动此applet,以及是否信任它。我按确定。然后记事本开始-应该。没问题 但是,然后我将其添加到HTML页面: 现在,当我按此文本时,calc应该开始-对吗?但这给了我: 这是怎
我设置了以下信息: 创建了AWS S3存储桶并将一些映像上载到特定文件夹 创建了AWS CloudFront web发行版: 来源域名:从列表中选择的S3 bucket 限制存储桶访问:是 来源访问标识:选定的已有标识 授予桶的读取权限:是,更新桶策略 拒绝访问
我为电子签名创建了一个java小程序。当我在ide(intelliJ)上运行时,Applet运行正常,工作完美。但是当我将project部署到。jar文件并试图在浏览器(firefox)上运行时,我发现了一些错误,说。jar是不可信的。然后我做了一些研究,并用jarsigner签署了我的小程序。我遵循了以下步骤: AccessControlException:拒绝访问(“java.io.FileP
我正试图用预签名的URL直接上传一个文件到S3 bucket,但在PUT请求上出现AccessDenied(403 Plibended)错误。 附注。忘了补充。我已经尝试添加和以及并且在本例中上载工作正常,但是如何限制上载的访问?它应该只适用于预签名的URL,对吗?
问题内容: 我有一个Java小程序,用于查询Oracle数据库中的数据。从IDE内部运行时,它可以正常运行。但是,当我将其作为嵌入在网页中的小程序运行时,在类加载器中出现“访问被拒绝”错误,并且我并没有最模糊的想法对我有什么要求: 问题答案: 小程序在具有严格限制的安全规则的环境中运行。您至少需要在小程序上签名。 但是,这里的问题更大,在小程序内执行JDBC是一个非常糟糕的主意。该applet的源
问题内容: 这是我的编辑从第27行到第39行的代码: 我认为我的问题可能与Win7教授有关:(访问被拒绝) 如何解决这个问题,或者我需要做些什么或阅读才能使它起作用? 谢谢你不燃烧。 我只是更改了文件夹选项,使我获得完整的(Access …),现在我只需要弄清楚为什么在运行javac VendingMachine.java时为什么没有得到任何输出,我想是有一个新问题。 问题答案: 您的工作目录为。