2011-02-10 122 views
0

有什么方法可以使用电子邮件字段(和密码,当然)对AD进行身份验证?我的服务器上都设置了sAMAccountName和email,但我必须使用邮件进行验证,而不是使用sAMAccountName。使用电子邮件进行AD验证(不是sAMAccountName)

我使用下面的代码使用sAMAccountName赋认证(it'sa类库的方式,...)

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

回答

0

如果你有一个UPN(用户主体名称)上的每个用户设置和这与您应该能够立即使用它的电子邮件地址相同。 UPN通常以firstname.[email protected]的形式出现。默认情况下使用活动目录的域名,这通常是内部的东西(例如给出UPN [email protected])。通常可以注册一个新的UPN后缀并将用户的电子邮件地址设置为UPN而不会破坏任何内容。

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

+0

Yeap,做搜索并获得sAMAccountName是最好的选择。谢谢。 – 2011-02-10 13:02:09