Skip to main content
 首页 » 编程设计

c#之如何运行需要从 .NET Web 服务进行 AD 身份验证的命令行进程

2024年02月24日35shangdawei

这与 question 几乎相同另一个用户问,是 question 的续集我之前问过。

基本上,我的公司最近购买了 Tidal Scheduler。我们需要从其他进程临时启 Action 业,例如:BizTalk、.NET 网络应用程序等。我们的计划是围绕 C++ API 包装一个 .net 网络服务。这显然会在 version.next 中消失,所以我们试图在他们的命令行界面周围包装一个 .net 网络服务。

客户端需要 Active Directory 身份验证。使用下面几乎所有的模拟方法,我们都无法从我们的 .net Web 服务成功调用 CLI。从我在上面链接的问题中读到的内容,我们正试图模拟一个拥有比 ASPNET 帐户更多权限的用户,这会导致安全漏洞。

有更好的方法吗?有没有办法让它与我们已经走过的路一起工作?感谢您的帮助,我们已经投入了很多时间。

旁注:我们确实使用 PsExec 实现了这一点,但在这一点上,它是如此巨大的 hack-around(它是一个足够大的 hack-around),我们非常不希望在我们的环境中使用它。

请您参考如下方法:

一种可能的方法是在应用程序池中运行 Web 服务,该应用程序池具有您需要模拟的用户的凭据。 (这是假设身份验证是尝试操作的结果,但作为运行当前 Web 服务的帐户失败了……如果它需要身份验证,即使在以您模拟的用户身份运行时,那您就不走运了。)

模拟用户需要是运行 Web 服务的机器上的 IIS_WPG 组的成员。它还可能需要一些本地权限。只需确保您模拟的用户对盒子本身的权限非常有限。