Java 7未签名的applet权限1.7.0_45

时间:2013-10-16 15:49:30

标签: java permissions applet unsigned

我们有一个需要特定权限的小程序,我们会签署并授予所有权限 然而,在开发时我们使用未签名的小程序 我们在用户的.java.policy文件的主目录中设置了所有权限。

这已停止在1.7.0_45(或可能是_40)中工作,因为未签名的小程序不再具有额外权限。
我们看到这样的错误:
    引起:java.security.AccessControlException:访问被拒绝(“java.util.PropertyPermission”“OurCustomSystemProperty”“read”)

原因
Sun已经改变了1.7.0_45或40中未签名applet的安全行为 他们现在已经创建并设置了一个新的部署属性:

deployment.security.use.user.home.java.policy=false

这意味着默认情况下会忽略用户的.java.policy文件。

解决
请参阅下面的答案。

1 个答案:

答案 0 :(得分:6)

解决

或者:

一个。编辑deployment.properties并将以上属性设置为true 其路径的格式为:C:\ Users \ USERNAME \ AppData \ LocalLow \ Sun \ Java \ Deployment \ deployment.properties
在文件中的任何位置添加这样的行:

deployment.security.use.user.home.java.policy=true

B中。编辑JRE的中央java.policy文件,并为您的applet授予所有权限 其路径为:C:\ Program Files(x86)\ Java \ jre7 \ lib \ security \ java.policy

HTH!