gpt4 book ai didi

c# - 确定用户是否在 .NET 4.0 应用程序的 AD 组中

转载 作者:可可西里 更新时间:2023-11-01 07:53:52 26 4
gpt4 key购买 nike

我正在尝试确定用户是否是内部 ASP.NET 4.0 应用程序的 Active Directory (AD) 组的成员。如果用户不是 AD 组的成员,下面的代码会在最后一行(返回语句)抛出“尝试访问未加载的应用程序域”异常错误。

public static bool IsInADGroup(string userName, string groupName)
{
var principalContext = new PrincipalContext(ContextType.Domain);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, userName);
if (userPrincipal == null)
return false;

GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(principalContext, groupName);
if (groupPrincipal == null)
return false;

return userPrincipal.IsMemberOf(groupPrincipal);
}

关于如何修复或其他解决方法的任何想法?

最佳答案

可以 this bug 是你的问题吗?

我已经使用此解决方法解决了同样的问题:

           using (DirectoryEntry rootDse = new DirectoryEntry("LDAP://rootdse"))
{
var dnsName = rootDse.Properties["dnsHostName"].Value.ToString();
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, dnsName)) {}

关于c# - 确定用户是否在 .NET 4.0 应用程序的 AD 组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7168361/

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