【问题标题】:Why am I getting System.Security.AccessControl.PrivilegeNotHeldException in my WPF application?为什么我的 WPF 应用程序中出现 System.Security.AccessControl.PrivilegeNotHeldException?
【发布时间】:2017-10-05 14:55:50
【问题描述】:

我有一个简单的 WPF 应用程序,它试图查找给定用户所属的 ActiveDirectory 组。检索组的代码是:

public static HashSet<string> GetUserGroups(string userLogon)
{
    var groups = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
    var identity = new WindowsIdentity(userLogon);

    if (identity.Groups == null) { return groups; }

    var type = typeof(NTAccount);

    foreach (var group in identity.Groups)
    {
        groups.Add(group.Translate(type).ToString());
    }

    return groups;
}

但是,当我尝试在应用程序启动时运行它时,当方法尝试创建 new WindowsIdentity(userLogon) 时抛出以下异常:

System.Security.AccessControl.PrivilegeNotHeldException: '进程 不具备“SeTcbPrivilege”权限,这是所需的 这个操作。'

如果我在 Console 应用程序中运行代码,这不会发生。关于可能导致此问题的任何想法?

【问题讨论】:

  • 您是否尝试过以管理员身份运行此应用程序? consolapp 是否在同一用户下运行?

标签: c# .net wpf security


【解决方案1】:

事实证明,由于在Common Language Exception 对话框中启用了All Common Language Exceptions,我才看到此异常。

这个异常似乎是内部抛出的。

【讨论】:

  • 谢谢 :) 你节省了我的时间!
猜你喜欢
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
相关资源
最近更新 更多