ActiveDirectoryMembershipProvider.GetUserNameByEmail(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取与指定电子邮件地址关联的用户名。
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
参数
- String
要搜索的电子邮件地址。
返回
与指定电子邮件地址关联的用户名。
例外
数据存储区中存在多个具有相同电子邮件地址的用户,而 RequiresUniqueEmail 属性值为 true
。
该提供程序未初始化。
注解
类调用 Membership 此方法,以基于用户的电子邮件地址从 Active Directory 数据存储中检索用户名。
如果成员资格数据存储中的多个用户具有相同的电子邮件地址,则返回遇到的第一个用户名。 可以在应用程序配置文件中将 membership Element (ASP.NET Settings Schema) 元素的 属性设置为 true
requiresUniqueEmail
,以确保数据库中的每个电子邮件地址都是唯一的。
删除 email
参数值的前导和尾随空格。 如果剪裁后的电子邮件地址为空, ArgumentException 则会引发 。 如果电子邮件地址为 null
,则会搜索 Active Directory 数据存储中的所有用户名,并返回第一个用户名。
建议在确认 类发出的 ActiveDirectoryMembershipProvider 搜索查询不会对目录服务器的性能产生负面影响之前,不要在生产系统上启用搜索。
重要
即使 EnableSearchMethods 属性为 false
,方法GetUserNameByEmail也会运行。
ActiveDirectoryMembershipProvider由于 类专为无状态 Web 环境而设计,因此它无法使用基础 System.DirectoryServices API 公开的分页优化。 这意味着在搜索大型目录期间执行分页操作非常昂贵,应避免这样做。 搜索操作始终针对连接字符串中配置的目录服务器发出,如果连接字符串指向域,则针对自动选择的服务器发出搜索操作。 提供程序不对其搜索方法使用全局编录。
提供程序使用从连接字符串中指定的搜索点开始的子树搜索。 有关连接字符串的详细信息, ActiveDirectoryMembershipProvider 请参阅类主题。