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 Element (ASP.NET Settings Schema) 元素的 属性设置为 truerequiresUniqueEmail ,以确保数据库中的每个电子邮件地址都是唯一的。

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

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

重要

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

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

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

适用于

另请参阅