【问题标题】:Starting a Process as a Different User in ASP.NET在 ASP.NET 中以不同用户身份启动进程
【发布时间】:2009-10-13 18:17:15
【问题描述】:

我有一个 ASP.NET MVC Web 应用程序,并且我想在其中一个控制器操作中启动进程(exe 文件)。该进程需要在域用户下运行,因为它访问域上的其他资源。这可以是单个硬编码用户,也可以是当前在网页上的用户。 web.config 正在使用 Windows 身份验证。

我已尝试打开模拟并尝试在指定特定用户时打开模拟。这两种情况都会导致权限问题。

我也尝试以特定域/用户/密码启动该进程,但这会给我一个错误“登录失败:未知用户名或密码错误”。我很肯定用户名/密码是正确的,并且执行“runas”工作正常。

我什至不确定执行此操作的“正确”方法。任何帮助表示赞赏。

谢谢。

【问题讨论】:

    标签: asp.net asp.net-mvc process


    【解决方案1】:

    正确的方法是不要从 Web 应用程序启动进程。请改用MSMQ in WCF 之类的东西。

    【讨论】:

    • 好的,所以将一些信息推入 MSMQ,然后使用以用户身份运行的服务将其提取出来...我可以创建一个 WCF 服务来完成exe目前正在做。我希望不必有一个完整的其他服务来做到这一点。也许这是最好的方式。
    • 做起来应该不会太难。如果您有 Windows Server 2008,您可以使用 WAS-msdn.microsoft.com/en-us/library/ms734677.aspx 托管服务。编写 Windows 服务实际上并没有那么多工作——我用不到 10 分钟的时间将控制台 WCF 服务转换为 Windows 服务(我只有 Windows 2003)。
    • 我要将我的 exe 代码移动到以域用户身份启动的 WCF 服务中,看看是否效果更好。
    • 将其作为托管在 Windows 服务中的 WCF 服务进行,效果很好。我只是将 Windows 服务启动用户设置为域帐户。
    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 2016-11-14
    • 2013-02-04
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多