我们有一个应用程序需要用户连接到 VPN 才能运行。问题是我们依赖 Windows 身份验证来对应用程序进行身份验证。但是,我们遇到过一些 Windows 登录名和 AD 登录名不同的机器。
有人可以建议一种方法让我们始终读取与 VPN 登录名相同的 AD 登录名吗?PS:我们使用checkpoint VPN Secure Client
我们有一个应用程序需要用户连接到 VPN 才能运行。问题是我们依赖 Windows 身份验证来对应用程序进行身份验证。但是,我们遇到过一些 Windows 登录名和 AD 登录名不同的机器。
有人可以建议一种方法让我们始终读取与 VPN 登录名相同的 AD 登录名吗?PS:我们使用checkpoint VPN Secure Client
如果你使用 ActiveDirectory,你可以试试这个,但我不确定你是否熟悉 AD,但这对你来说是一个很好的学习工具,特别是如果它有效的话。
static void Main(string[] args)
{
string groupName = "Domain Users";
string domainName = "";
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domainName);
GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, groupName);
if (grp != null)
{
foreach (Principal p in grp.GetMembers(false))
{
Console.WriteLine(p.SamAccountName + " - " + p.DisplayName);
}
grp.Dispose();
ctx.Dispose();
Console.ReadLine();
}
else
{
Console.WriteLine("\nWe did not find that group in that domain, perhaps the group resides in a different domain?");
Console.ReadLine();
}
}
或者您可以尝试在此链接中指定的如何获取属于 Active Directory 组的用户