在C#中访问其他用户的本地应用程序设置

时间:2015-05-05 06:12:12

标签: c# configuration .net-3.5 impersonation settings

我有WPF应用程序,假设 Application1 ,在 User1 下运行。我需要在 Application2 的AppData文件夹中访问 User2 的用户范围设置。

所以,真正发生的是:

  • User1 以用户身份登录Windows
  • User1 实际上是与帐户相关联的人 User2
  • User1 启动 Application1
  • Application1 要求提供凭据以确保 User1 以适当的用户启动应用程序(请参阅下一个项目符号)(在这种情况下为 User2
  • 现在, Application1 应使用提供的凭据运行 Application2 ,但在此之前,应检查 Application2 User2 设置强>

如果不将 Application1 作为 User2 运行,我该怎么办呢?

如果我可以在运行时更改 Application1 的进程所有者来执行此操作,那么这也是可接受的解决方案。

1 个答案:

答案 0 :(得分:0)

我最终在User2下运行另一个自定义控制台程序,该程序将设置文件读取为XmlDocument。

阅读设置文件:

if (File.Exists(settingsPath))
{
    XmlDocument xmlDocument = new XmlDocument();
    xmlDocument.Load(settingsPath);
    XmlNode settingsNode = xmlDocument.SelectSingleNode("/XPath.to.node.you.are.looking.for");
    foreach(XmlNode xmlNode in settingsNode.ChildNodes)
    {
        //do some work
    }
}