我们有一个小程序需要一定的权限,我们签署并授予所有权限。
然而,在开发时,我们使用未签名的小程序。
我们在用户主目录中的 .java.policy 文件中设置所有权限。
这在 1.7.0_45(或可能是 _40)中已停止工作,因为未签名的小程序不再具有额外权限。
我们看到这样的错误:
引起:java.security.AccessControlException:访问被拒绝(“java.util.PropertyPermission”“OurCustomSystemProperty”“read”)
原因
Sun 在 1.7.0_45 或 40 中更改了未签名小程序的安全行为。
他们现在已经创建并设置了一个新的部署属性:
deployment.security.use.user.home.java.policy=false
这意味着默认情况下会忽略用户的 .java.policy 文件。
决议
请在下面查看我的回答。
最佳答案
决议
或者:
一个。编辑您的 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
喂!
关于Java 7 未签名小程序权限 1.7.0_45,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407975/