java - 使用 SecurityManager 通过代码提升 Java 权限

标签 java security permissions jnlp

我已经编写了一个桌面 Java 应用程序,并且希望使用 Java Web Start 重新部署它。我分析了我的代码,99% 可以使用“沙箱”权限运行,但我有几个需要“所有权限”的函数。这些功能并不经常使用,但它们仍然是我需要提供的关键功能。

不是在我的 JAR 中请求大多数时候可能不会使用的东西的“所有权限”,而是可以拥有“沙箱”权限,然后通过代码提升到“所有权限”这些功能的持续时间?我希望用户必须通过对话框批准这一点 - 我不希望绕过 Java 的安全性。

我发现 JNLP API 提供了 FileOpenService 和 FileSaveService,这与我所追求的类似,但它似乎只处理少数场景。我正在寻找一种方法来提升我的权限,以便能够使用 Desktop.getDesktop.browse()。

最佳答案

JNLP API 还提供了在默认浏览器中打开 URI 的基本服务。

关于java - 使用 SecurityManager 通过代码提升 Java 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516089/

相关文章:

java - 使用AccessController.doPrivileged()限制权限并不总是按预期方式工作

java - 我们如何将 Android 下载管理器与 RecyclerView 一起使用?

java - 如何使用 OSM 创建和采样路线

python - 使用 Google App Engine 时需要解决哪些安全问题?

javascript - 客户端 javascript 驱动的网站

google-apps-script - 尝试授权脚本时出现 "Sign in with Google temporarily disabled for this app"错误

java.io.UnsupportedEncodingException : unicode-1-1-utf-7?

java - 静态工厂模式返回类型中的有界通配符

c# - WCF 为绑定(bind)设置保护级别?

xcode - 无法在Xcode中获得许可