如何使用c#验证非管理员用户?

时间:2015-12-03 09:48:57

标签: c# .net principalcontext

我创建了一个本地用户。 (例如:mymachine \ user1)。 我不想将此用户添加到管理员组。

我使用了以下c#代码来验证我的本地帐户:

PrincipalContext contextmachine = new PrincipalContext(ContextType.Machine);    
valid = contextmachine.ValidateCredentials(accountname, password);

但是它给出了例外:

  

登录失败:未向用户授予请求的登录类型   在这台电脑上。

如果我以正确的方式做这件事,请帮助我。

1 个答案:

答案 0 :(得分:0)

试试这个:

PrincipalContext contextmachine = new PrincipalContext(ContextType.Machine);
valid = contextmachine.ValidateCredentials(accountname, password);

UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, userId);  
foreach (Principal p in usr.GetAuthorizationGroups())
{
    if (p.ToString() == "Administrators")
    {
        result = true;
    }
}