本教程适用于JDK 8。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
请参阅Java语言更改,了解Java SE 9及后续版本中更新的语言特性的摘要。
请参阅JDK发行说明,了解所有JDK版本的新功能、增强功能以及已删除或不建议使用的选项的信息。
丰富的互联网应用程序(RIAs)背后的安全模型旨在保护用户免受恶意互联网应用程序的侵害。本主题讨论了小程序和Java Web Start应用程序共有的安全方面。有关更多信息,请参阅以下主题:
RIAs可以被限制在Java安全沙盒中,也可以请求许可来访问沙盒之外的资源。第一次启动RIA时,用户将被提示是否允许运行。所显示的对话框提供了关于签名者证书的信息,并指示RIA是否请求在沙盒之外运行的权限。用户可以根据这些信息做出明智的决定。
应用以下准则来帮助保护您的RIAs。
all-permissions
元素。否则,让RIA默认在安全沙盒中运行。以下代码片段显示了RIA的JNLP文件中的all-permissions
元素。
<security> <all-permissions/> </security>
component-desc
元素将其他JNLP文件作为组件扩展包含进来。有关信息,请参阅JNLP文件的结构。AccessController.doPrivileged
块中。这样,在执行doPrivileged
代码块中的代码时,JavaScript代码就可以以提升的权限运行。Permissions
和Codebase
属性,以确保您的RIA仅请求您指定的权限,并且RIA是从正确的位置访问的。有关信息,请参阅用于安全性的JAR文件清单属性。