0

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

我希望在某个时间段后运行一个计时器并重定向,但这并不是那么准确,而是从弹出窗口中捕获响应会很好。

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

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

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

4

1 回答 1

1

我看着有一个计时器运行并在一段时间后重定向..

..扩展它以添加一个取消计时器的 JS 函数,然后从小程序中调用该 JS,这是您可以获得的最佳保护。

如果安全提示被拒绝,则对安全相关问题的尝试/捕获可以适用于某些加载小程序沙盒的 JRE,但如果安全提示被拒绝,其他运行时(尤其是冰茶JRE)将根本不加载小程序拒绝了。

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

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

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


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

于 2012-04-02T15:11:13.703 回答