XP和Vista / Windows 7之间的Java WebStart权限差异

时间:2011-04-01 19:56:27

标签: java dll windows-7 windows-vista java-web-start

我在尝试在Windows Vista或Windows 7上运行生产Java WebStart应用程序时遇到问题。此WebStart应用程序是受信任的,并且应该具有读取/写入/加载dll和其他本机库的完全权限。

在Windows XP上完全可以做到这一切,但是在Vista / Windows 7上它无法访问某些dll。

如果我在本地运行应用程序,除了WebStart,它就可以访问dll。

我遇到了以下链接:http://www.java.com/en/download/help/6000061000.xml

这基本上解释了无论你喜欢与否,Vista / Windows 7上的WebStart应用程序都不会也永远不会以相同的权限运行。

除了完全放弃WebStart之外,有没有人知道提高安全性的解决方法?有没有其他人遇到类似的问题,即使你没有弄明白,你尝试过什么没有用?我们也欢迎任何其他建议。

1 个答案:

答案 0 :(得分:2)

问题在于,尽管具有提升权限的applet或webstart应用程序,它们都被放置在LocalLow目录下的Java插件缓存中。

在Vista和Windows 7中,LocalLow目录设置为低完整性。

这意味着虽然applet或web start应用程序可能在计算机上具有完全读/写权限,但由于可执行文件是从低完整性目录运行的,因此只允许它们访问低完整性的文件和文件夹同样。

我解决这个问题的方法是找到LocalLow下的Java插件缓存文件夹,并将其完整性级别更改为“中”。除非明确设置或系统文件夹,否则默认情况下所有文件夹都被视为中等完整性。

我是怎么做到的?我下载并使用了一个名为chml http://www.minasi.com/apps/的漂亮命令行工具。

虽然我意识到我创建了一个安全风险,但我认为它仅仅局限于具有所有权限的Java插件应用程序,实质上,它并不比简单地使用XP安全,实际上更是如此,因为这些Java应用程序STILL无法访问系统文件夹或资源。