加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java Applet权限

发布时间:2020-12-15 01:10:31 所属栏目:Java 来源:网络整理
导读:我已经整理了一个基本applet,用户从硬盘驱动器中选择一个文件,它读取该文件的第一行并将其传递给JavaScript进行一些额外的预处理,然后当您单击一个按钮时它会尝试上传该文件通过HTTP POST请求提交文件.我发现了一个非常基本的开源applet,用于上传我为此最后

我已经整理了一个基本applet,用户从硬盘驱动器中选择一个文件,它读取该文件的第一行并将其传递给JavaScript进行一些额外的预处理,然后当您单击一个按钮时它会尝试上传该文件通过HTTP POST请求提交文件.我发现了一个非常基本的开源applet,用于上传我为此最后一点复制和修改的文件.

但麻烦的是,它并不常用.看起来它运行正常,但后来我遇到了两个与权限相关的障碍. Java控制台中的消息表明applet在以下两个权限上具有访问被拒绝错误:

java.lang.RuntimePermission setFactory
java.io.FilePermission read

我发现这很奇怪,因为当我使用NetBeans中选中的“自签名”选项构建它时,我认为我已经授予了applet权限,然后单击以确认浏览器中的小安全性弹出窗口.

此外,我自己编写的部分,它读取文件并将第一行传递给JavaScript的工作正常.这是一个非常明确的指示,表明applet能够从本地文件系统中读取!在我真正尝试开始上传之前,问题才会开始.我想,有一点需要注意的是,上传过程似乎是在一个新线程中运行,而其余部分都在主类中运行而不创建线程.

我是Java的新手,对Java中的线程知之甚少;我需要以某种方式将权限传递给这个新线程吗?或者那种效果?
提前致谢.

最佳答案
您可能需要向安全管理员(代码,而不是管理员)询问是否允许执行特权操作.由于各种原因,applet能够打开本地文件通常不是一件好事,所以它的保护程度非常高.

基本的关键是调用AccessController.doPrivileged()并在Java Ranch FAQ上有一个good little tutorial.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读