XP 和 Vista/Windows 7 之间的 Java WebStart 权限差异
我在尝试获取在 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 之外,有人知道提高安全性的解决方法吗?有没有其他人遇到过类似的问题,即使您没有弄清楚,您尝试过哪些方法但没有成功?也欢迎任何其他建议。
I am having an issue attempting to get a production Java WebStart application running on Windows Vista or on Windows 7. This WebStart application is trusted, and is supposed to have full privileges to read/write/load dlls and other native libraries.
It does all of this perfectly fine on Windows XP, however on Vista/Windows 7 it is failing to get access to certain dlls.
If I run the application locally apart from WebStart altogether, it IS able to access the dll.
I came across the following link: http://www.java.com/en/download/help/6000061000.xml
This basically explains that whether you like it or not, a WebStart application on Vista/Windows 7 will not and never will run with quite the same privileges.
Does anybody know a workaround for the elevated security apart from abandoning WebStart altogether? Has anybody else run into a similar issue and even if you didn't figure it out, what have you tried that hasn't worked? Any other suggestions are welcome too.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是,尽管小程序或 Webstart 应用程序具有提升的权限,但它们都放置在 LocalLow 目录下的 Java 插件缓存中。
LocalLow 目录在 Vista 和 Windows 7 中设置为低完整性。
这意味着,虽然小程序或 Web 启动应用程序可能在计算机上具有完全的读/写权限,但由于可执行文件是从低完整性目录运行的,因此它们是也只允许访问低完整性的文件和文件夹。
解决这个问题的方法是我将 Java 插件缓存文件夹放在 LocalLow 下,并将其完整性级别更改为 Medium。除非明确设置或系统文件夹,否则默认情况下所有文件夹都被视为中等完整性。
我是怎么做到的?我下载并使用了一个名为 chml 的漂亮命令行工具 http://www.minasi.com/apps/。
虽然我意识到我造成了安全风险,但我认为它仅限于具有所有权限的 Java 插件应用程序,本质上,它的安全性并不比仅使用 XP 低,事实上更安全,因为这些 Java 应用程序仍然无法访问系统文件夹或资源。
The issue is that despite an applet or webstart application with elevated privileges, they are ALL placed within the Java plugin cache under the LocalLow directory.
The LocalLow directory is set to Low Integrity in Vista and Windows 7.
What this means is that while the applet or web start application may have full read/write privileges on the machine, because the executables are running from a Low Integrity directory, they are only allowed access to files and folders that are Low Integrity as well.
My way of getting around this is I located the Java plugin cache folder under LocalLow and change its integrity level to Medium. Unless explicitly set or a system folder, all folders are considered Medium Integrity by default.
How did I do this? I downloaded and used a nifty command line tool called chml http://www.minasi.com/apps/.
While I realize I created a security risk, I see it as localized to just Java plugin applications with All Permissions, essentially, it is no less secure than simply using XP, in fact more so because these java apps STILL cannot access system folders or resources.