MSDN documentation在这一点上并不准确。
它在一个地方说:“获取会员用户的集合,其中用户名包含要匹配的指定用户名。”
后来它说,“FindUsersByName返回一个成员资格用户列表,其中用户名匹配为配置的applicationName提供的usernameToMatch。”
SQLMembershipProvider支持通配符,但文档中没有说明我是否也必须使用自定义成员资格提供程序。
编辑:我真的在询问会员提供者的意图,而不是在我的具体情况下应该做些什么。
答案 0 :(得分:3)
文档中的这句话解释了它:
The SqlMembershipProvider performs its search using a LIKE clause against the usernameToMatch parameter. Any wildcards that are supported by SQL Server in LIKE clauses can be used in the usernameToMatch parameter value.
SO
“获取会员用户的集合,其中用户名包含要匹配的指定用户名。”
是准确的句子,如果你搜索“DAV *”你应该得到“Dave”,“David,”Davis“等等。
答案 1 :(得分:3)
FindUsersByName函数将对您传入的字符串进行匹配。
如果你想让它进行部分匹配,那么你需要在你要搜索的字符串的末尾添加'%'。
答案 2 :(得分:0)
让我们让它更具限制性(找到完全匹配)以确保用户'joe'无法访问用户'joel'的数据:)
无论如何,你真的需要找一个仅给出其名称的一部分的用户吗?
编辑: 现在再次检查您链接到的MSDN方法,它的名称是 FindUsersByName (用户,而不是用户),因此该方法可以返回多个用户。在这种情况下,我假设你应该实现代码来返回所有匹配。 如果方法是 FindUserByName ,那么它就是相反的答案(你有方法 GetUser )