![Java套接字程序仅请求一次公共网络访问权限?](https://linux22.com/image/1281278/Java%E5%A5%97%E6%8E%A5%E5%AD%97%E7%A8%8B%E5%BA%8F%E4%BB%85%E8%AF%B7%E6%B1%82%E4%B8%80%E6%AC%A1%E5%85%AC%E5%85%B1%E7%BD%91%E7%BB%9C%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90%EF%BC%9F.png)
我已经创建了一个套接字程序的 jar。当我第一次在 Windows 系统上运行此 jar 时,它会请求公共和家庭网络访问权限。如果用户授予它们权限,则它可以正常工作并接受来自公共用户的请求。但如果用户拒绝,则只有在防火墙关闭的情况下它才能工作。我希望每次用户运行我的 jar 时,它都应该请求文件网络访问权限,以便在用户第一次拒绝时,他可以在下次授予这些权限。
答案1
你不能。此行为仅取决于用户的 Windows 防火墙配置,你无法在程序中对此采取任何措施。此外,Java 不应该访问此类系统特定的详细信息。
答案2
您可以在 jar 中有一个策略文件,该策略文件包含应用程序所需的权限。要了解有关策略文件的更多信息,请查看此关联