提供Applet安全异常的回退



我有一个Applet,它需要以某些权限运行,这意味着加载时将显示一条警告消息。如果用户拒绝了警告消息,我想重定向到一个错误页面并解释发生了什么。有办法做到这一点吗?

我希望有一个计时器运行,并在一定的时间段后重定向,但这并不准确,如果能从弹出窗口中捕捉到响应,那就太好了。

如果用户拒绝警告,则引发以下异常:

java.lang.SecurityException: attempted to open sandboxed jar [jar-file] 
    as a Trusted-Library

异常在到达init函数之前抛出。

我希望有一个计时器在运行,并在一段时间后重定向。。

将其扩展为添加一个取消计时器的JS函数,然后从小程序中调用该JS,这是你能得到的最好的保护。

如果安全提示被拒绝,一些加载小程序沙盒的JRE可以尝试/捕获安全相关事项,但如果安全提示遭到拒绝,其他运行时间(尤其是Iced Tea JRE)将根本无法加载小程序。

我有一个小程序,需要它以某些权限运行。。基本上,我们在那里存储一个文件,文件可以是任何文件,因此大小可以是任何值。用户将自己选择这个文件,他们可以选择从1kb文本文件到千兆字节电影的任何内容。。

如果可以保证用户拥有"下一代"-即插即用2 JRE(在小程序信息页面中提到),则可以在嵌入式小程序中使用JNLP API。JNLP服务为沙盒应用程序提供对本地磁盘的访问。请参阅JNLP文件服务的演示。

但有一个小问题。没有选项可以持久保存用户选择的文件的路径。在这种安全性较低的环境中,JRE不提供File,而是提供JNLP API FileContents对象。它将不提供路径,并且不可序列化。但是,如果用户愿意在每次运行时选择文件,那么它可能是可行的。


这提醒了我。也许是推出可信应用程序的更好选择。是使用Java Web Start提供一个免费的浮动(applet或)框架。如果用户拒绝,它将永远不会出现在屏幕上,但他们可以随时再次单击启动按钮(以再次得到提示)。

最新更新