4

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

这已在 1.7.0_45(或可能 _40)中停止工作,因为未签名的小程序不再具有额外的权限。
我们看到这样的错误:
原因:java.security.AccessControlException: access denied ("java.util.PropertyPermission" "OurCustomSystemProperty" "read")

原因
Sun 在 1.7.0_45 或 40 中更改了未签名小程序的安全行为。
他们现在创建并设置了新的部署属性:

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

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

解决
方法请看下面我的回答。

4

1 回答 1

6

解析度

任何一个:

A. 编辑你的 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 文件并授予您的小程序
的所有权限 此路径的格式为:C:\Program Files (x86)\Java\jre7\lib\security\java.policy

于 2013-10-17T07:51:05.133 回答