【问题标题】:How can I prompt users to grant read/write permission to my program如何提示用户授予我的程序读/写权限
【发布时间】:2020-06-23 13:12:14
【问题描述】:

我用 Java 制作了一个 lovely computer program,配备了方便的 jpackage 安装程序,我很乐意以用户友好的方式与全世界分享它。作为其设计的一部分,我的程序使用ObjectOutputStream 将用户的自定义设置写入安装目录中的一个文件。不幸的是,该程序没有读取和写入安全文件夹(例如“程序文件”)中文件的权限。

我不能指望普通用户知道如何设置策略文件,所以有什么方法可以使这个过程自动化或提示用户在安装过程中授予读/写权限,而无需支付数百美元的代码认证机构?还是我应该继续我已经在做的事情,即要求用户将软件安装到他们的主目录或以管理员身份运行程序?在这种情况下,其他程序员会怎么做?

【问题讨论】:

  • 你的意思是这样的吗? Elevate java application while running
  • @Lino 当您只需要对一两个文件进行读/写访问时,授予完全管理员权限似乎有点过头了,但这比让我的用户记住一个额外的步骤要好。跨度>

标签: java installation permissions code-signing jpackage


【解决方案1】:

您可以将本地应用程序数据目录用于此类文件。详情见What is the cross-platform way of obtaining the path to the local application data directory?

【讨论】:

  • 谢谢@hkn。这不是我所问问题的确切答案,但它是我需要的答案。
【解决方案2】:

您不应写入文件来保存用户设置。

Java 使用 Preferences 保存设置的方式要好得多: https://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html

【讨论】:

  • 感谢您的建议。不知怎的,我以前没有遇到过这个!
猜你喜欢
  • 1970-01-01
  • 2016-03-01
  • 2016-09-09
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
  • 2022-06-30
  • 1970-01-01
相关资源
最近更新 更多