使用电子邮件验证AD(不是sAMAccountName)

时间:2011-02-10 11:52:03

标签: c# active-directory

有没有办法使用电子邮件字段(和密码,确定)对AD进行身份验证?我在服务器上设置了sAMAccountName和电子邮件,但我必须使用mail而不是sAMAccountName进行验证。

我正在使用以下代码使用sAMAccountName进行身份验证(顺便说一句,这是一个类库)。

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, DOMINIO))
{
      return pc.ValidateCredentials(sAMAccountName, Password);                
}

1 个答案:

答案 0 :(得分:1)

如果您在每个用户上设置了UPN(用户主体名称)并且与电子邮件地址相同,则应该可以立即使用它。 UPN通常采用firstname.lastname@domain形式。默认情况下,使用活动目录的域名,这通常是内部的(例如,提供UPN anders.abel@company.local)。通常可以注册新的UPN后缀并将用户的电子邮件地址设置为UPN而不会破坏任何内容。

否则,您应该能够使用服务帐户附加到AD,根据电子邮件字段搜索正确的用户对象,检索sAMAccountName并使用该帐户登录。