【发布时间】:2023-04-04 15:16:02
【问题描述】:
我有一个 ASP.NET Web API,我正在尝试通过控制器下载 ZIP 文件 - 例如,DownloadZipController。
为了生成这个 ZIP 文件,我的控制器方法调用了一个工厂方法createandGetZip,它启动一个 exe 并等待 EXE 完成其执行。当 EXE 生成 ZIP 时,它被传递给工厂方法createandGetZip。此 ZIP 生成需要一些时间 - 大约 2 分钟。
我在 IIS 服务器上托管了这个 Web api,AppPool 标识为 LOCALSYSTEM。
我的问题是:这是从托管在 IIS 服务器上的代码启动 EXE 的最佳方式吗?或者是否有任何其他方法可以从代码启动 EXE 而无需将 AppPool 身份指定为 LOCALSYSTEM,因为我已经读过这可能会导致安全漏洞。
请告诉我最好的方法或比我目前使用的更好的方法。
【问题讨论】:
-
你有这个exe的源代码吗?
-
是的,我有EXE的源代码。它是在内部开发的。
-
保护 IIS 对于 SO 来说这个话题太宽泛了。
-
是什么阻止您为您的应用分配另一个具有 LocalSystem 以外身份的 AppPool?有很多关于这个的教程。
-
@ivan_pozdeev 如果不将 Localsystem 的身份分配给我的应用程序池,我将无法启动我的 exe。请告知是否可以通过其他一些好的方式来完成。