java - 我需要请求网络访问的管理员权限吗?

标签 java windows executable uac

我有一个包含在 launch4j 中的 java 应用程序exe 包装器。

它在一个用户可配置的高编号端口(默认 8080)上提供 Web 内容。

它使用另一个网络连接进行数据访问。这利用了由 UDP 111 上的初始请求协商的未知端口上的 TCP。

我想知道是否需要配置此应用程序,使其要求以管理员权限运行,或者是否应以启动它的用户的权限运行。

最佳答案

在 Windows 上,一般来说,您不需要成为管理员即可打开监听套接字。

  • Windows 防火墙可能会阻止传入连接
  • Java 安全性本身可能会限制打开 1024 以下的端口(如 .NET Windows Communication Foundation 所做的那样)

但是您不需要成为管理员即可打开监听套接字。

而且,正如 @BevynQ 所说,您的应用程序理想情况下不会是管理员。您的 TCP 服务几乎肯定会存在缓冲区溢出和安全漏洞。您不希望网络上的任何人能够强制您提升的应用程序做坏事。

关于java - 我需要请求网络访问的管理员权限吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158356/

相关文章:

c# - 需要数学库来操作序列/范围

java - 没有来自 JSON 的值

java - 如何使用真正的 Floating Action Button (FAB) Extended?

java - 获取星期几,太平洋时间的方法

c - 绘画代码在我的 WM_COMMAND 消息处理程序中无法正常工作

windows - Visual Studio 2015 没有响应

java - Camel 中的两条路由是否引用同一个处理 bean 并行执行?

c++ - Visual Studio 中已编译的 .exe 中缺少的字符串

c++ - Visual Studio - 不确定导出项目

java - 将 .jar 转换为适用于 Windows、Linux 和 Mac 的应用程序