Java 7未签名的applet权限1.7.0_45
我们有一个需要特定权限的applet,我们签署并授予所有权限。
然而,在开发时我们使用未签名的applet。
我们在其主目录中的用户的.java.policy文件中设置所有权限。
这已经停止在1.7.0_45(或可能是_40)中工作,因为未签名的applet不再具有额外的权限。
我们看到这样的错误:
引起: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文件。
解析度
请参阅下面的答案。
解析度
或者:
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文件,并为您的applet授予所有权限
其路径为:C:\ Program Files(x86)\ Java \ jre7 \ lib \ security \ java.policy
HTH!
- 如何解决“证书无效且无法用于validation本网站的身份”错误?
- Maven / Java8 build中的编译错误:找不到符号JSObject.getWindow
- 在applet或Google AppEngine中托管Java编译器?
- JavaFX现在已经出局了:Applets和Java Desktop是否正式死亡/死亡?
- 为什么我们使用init()而不是Constructor
- 如何从javascript调用Applet方法
- 如何在Java applet中正确指定代码库和存档?
- Java:将URL中的pdf文件读取到applet中的Byte数组/ ByteBuffer中
- 在Java applet中动态加载本机库