【问题标题】:How to make windows form application run as different user?如何使 Windows 窗体应用程序以不同的用户身份运行?
【发布时间】:2014-02-05 20:22:30
【问题描述】:

我正在我们的 Intranet 上创建一个简单的文件复制程序,以允许用户将文件复制到他们也无权访问的特定网络文件夹。我计划使用“My.Computer.FileSystem”命名空间中的“CopyFile”功能,因为它将使用 Windows 内置的文件复制对话框和进度条。我假设用户需要对此文件夹进行身份验证。我想知道我是否可以让程序作为该网络文件夹的经过身份验证的用户运行以使文件副本正常工作?谢谢。

【问题讨论】:

  • 编写一个服务(具有足够权限),在请求时将文件复制到目标文件夹。
  • 搜索模仿
  • WindowsIdentity.Impersonate 怎么样?这将在没有单独服务(或如下所述的过程)的情况下完成任务吗? edit 谢谢弗拉德,你在我评论之前就发布了。

标签: c# asp.net vb.net winforms active-directory


【解决方案1】:

您需要为此启动一个单独的进程。您可以使用 Process.Start(...)

http://msdn.microsoft.com/en-us/library/sxf2saat%28v=vs.110%29.aspx

编辑

根据您的评论,我还对假冒进行了快速检查。这来自马特约翰逊的帖子似乎很有希望!

https://stackoverflow.com/a/7250145/2243584

【讨论】:

  • 安全性怎么样?您会将用户名/密码放入代码中吗?
  • 我猜这实际上是他/她想要的,正如提到的“他们无权访问”
  • 所以我让用户从他们的桌面启动的应用程序实际上是我编写的进程,然后它将使用正确的凭据运行我的简单程序?
  • @merlot 我就是这么理解你的。用户启动一个程序,然后该程序本身使用不同的凭据启动您的应用程序。是的。
  • @toATwork - 谢谢,我将研究单独的过程与模拟
猜你喜欢
  • 1970-01-01
  • 2019-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 1970-01-01
相关资源
最近更新 更多