ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) 方法

定义

获取与指定电子邮件地址关联的用户名。

public:
 override System::String ^ GetUserNameByEmail(System::String ^ email);
public override string GetUserNameByEmail(string email);
override this.GetUserNameByEmail : string -> string
Public Overrides Function GetUserNameByEmail (email As String) As String

参数

email
String

要搜索的电子邮件地址。

返回

与指定电子邮件地址关联的用户名。

例外

email 超过 256 个字符

-或-

修整后为 email 空。

数据存储中存在多个用户,其电子邮件地址相同, RequiresUniqueEmail 属性值为 true

提供程序未初始化。

注解

类调用此方法 Membership ,以基于用户的电子邮件地址从 Active Directory 数据存储中检索用户名。

如果成员资格数据存储中的多个用户具有相同的电子邮件地址,则返回遇到的第一个用户名。 可以将 membership 元素(ASP.NET Settings Schema)元素的属性设置为truerequiresUniqueEmail应用程序配置文件中的属性,以确保数据库中的每个电子邮件地址都是唯一的。

从参数值中剪裁 email 前导空格和尾随空格。 如果剪裁后电子邮件地址为空,则会引发一个 ArgumentException 。 如果电子邮件地址为 null,则会搜索 Active Directory 数据存储中的所有用户名,并返回第一个用户名。

建议在确认类颁发的 ActiveDirectoryMembershipProvider 搜索查询不会对目录服务器的性能产生负面影响之前,才对生产系统启用搜索。

重要

即使EnableSearchMethods属性为 false.,该方法GetUserNameByEmail也会运行。

由于该 ActiveDirectoryMembershipProvider 类是为无状态 Web 环境设计的,因此无法使用基础 System.DirectoryServices API 公开的分页优化。 这意味着在针对大型目录的搜索期间分页操作非常昂贵,应避免。 始终针对在连接字符串中配置的目录服务器发出搜索操作,或者在指向域的连接字符串的情况下自动选择的服务器发出搜索操作。 提供程序不对其搜索方法使用全局目录。

提供程序使用从连接字符串中指定的搜索点开始的子树搜索。 ActiveDirectoryMembershipProvider有关连接字符串的详细信息,请参阅类主题。

适用于

另请参阅