我有一个java applet,当他们访问网页时会下载到用户的浏览器,并允许他们将可恢复的文件上传到我的服务器。显然,这需要applet访问用户的硬盘,我理解这是在常规沙箱小程序可以运行的范围之外。用户会看到一个安全警告弹出窗口,询问他们是否允许此applet运行。
我已使用verisign对applet进行了签名,并且获取applet的链接是通过SSL进行的,其中包含一个经过精心设计的证书。这些都没有使警告消失。
有没有办法让所有警告都消失?任何人都可以解释幕后发生的事情吗?
答案 0 :(得分:1)
您无法避免此消息,如果可以,这将是一个安全问题。
授予小程序权限
如果您尝试运行applet示例,则单击“单击我”按钮时无疑会看到错误。这是因为Java 2平台安全性不允许applet在没有明确许可的情况下写入和读取文件。
除非专门授予访问权限,否则applet无法访问本地系统资源。因此,对于FileUIAppl程序从text.txt读取并写入text.txt,applet必须是给予每个文件适当的读或写访问权限。
使用策略文件授予访问权限,并启动appletviewer,其中包含要用于正在查看的applet的策略文件。
您可以做的是拥有一个配置(策略文件)以允许此applet使用某些文件。但是您必须手动执行此操作(出于明显的安全原因)。请查看以下链接。
资源:
答案 1 :(得分:1)
JNLP有一个FileOpenService,允许不受信任的Java Webstart应用程序向用户显示“文件打开”对话框并访问用户选择的文件:
http://docs.oracle.com/javase/1.5.0/docs/guide/javaws/jnlp/javax/jnlp/FileOpenService.html