我最近更新到Java 7(更新45),现在我的网站applet部署正在触发两个安全对话框。第一个是“正常”的,显示签署applet的证书的信息。一切都很好。但是,在此之后立即出现第二个弹出窗口,再次要求允许Java应用程序(必须是applet)。
为什么会出现第二个对话框,如何控制应用程序名称和发布者使用哪些值?
允许从此网站访问以下应用程序?
答案 0 :(得分:2)
您需要在清单文件中包含Caller-Allowable-Codebase:
。如果您需要能够在不同的域中使用它并且事先知道它们,那么您可以将它们包含在空格分隔列表中。如果您不知道要部署到的所有域,请改用*
作为值。
有关此属性的详细信息,请参阅此页面:http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#caller_allowable
答案 1 :(得分:0)
http://java.com/en/download/help/javascript_applet.xml
该网站将JavaScript代码与Java应用程序结合使用。显示此消息是为了提醒您可能存在安全问题,因为该应用程序未明确授予该网站的访问权限。
这是Java 7 update 45中引入的新安全功能的一部分:
http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html#newft
每个Applet classLoader实例都会显示一次JavaScript to Java(LiveConnect)安全性对话框提示
我还没有检查过,但现在看起来需要为applet运行的每个域编写不同的版本。