gpt4 book ai didi

c# - 获取 PrincipalContext 选择的域

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:49 25 4
gpt4 key购买 nike

我正在为 asp.net 创建一个自定义登录功能,它根据事件目录进行验证。用户必须能够仅使用他的用户名或他的用户名和域(以及两种情况下的密码)登录。

代码:

AuthUser user = Authentication.getDomainAndUserName(givenUsername);

bool validAccount = false;

PrincipalContext network = null;
if (user.domain != "") network = new PrincipalContext(ContextType.Domain, user.domain);
else network = new PrincipalContext(ContextType.Domain);

if (UserPrincipal.FindByIdentity(network, IdentityType.SamAccountName, user.username) != null) {
validAccount = network.ValidateCredentials(givenUsername, givenPassword, ContextOptions.Negotiate);
}

“AuthUser”包含用户名和域(如果给定)。现在,如果用户没有明确指定域,上面的内容仍然可以正常工作。

所以如果你打电话

new PrincipalContext(ContextType.Domain);

域似乎是自动设置的。

在那种情况下,我如何找出它使用的域?

最佳答案

您始终可以从 UserPrincipal.FindByIdentity() 返回的用户主体中获取使用的域

关于c# - 获取 PrincipalContext 选择的域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18268863/

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