gpt4 book ai didi

c# - 如何检查当前用户是否在管理组c#

转载 作者:行者123 更新时间:2023-11-30 20:30:38 24 4
gpt4 key购买 nike

我已经阅读了相关的 Stack Overflow 问题并尝试了以下代码:

WindowsIdentity identity = WindowsIdentity.GetCurrent();
if (null != identity)
{
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
return false;

即使我手动确认当前用户是本地内置 Administrators 组的成员,它也不会返回 true。

我错过了什么?

谢谢。

最佳答案

刚刚找到其他方法来检查用户是否是管理员,而不是以管理员身份运行应用程序:

private static bool  IsAdmin()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
if (identity != null)
{
WindowsPrincipal principal = new WindowsPrincipal(identity);
List<Claim> list = new List<Claim>(principal.UserClaims);
Claim c = list.Find(p => p.Value.Contains("S-1-5-32-544"));
if (c != null)
return true;
}
return false;
}

归功于 this answer , 但代码更正了一点。

关于c# - 如何检查当前用户是否在管理组c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44507149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com