gpt4 book ai didi

asp.net - Membership.FindUsersByEmail - SQL 通配符

转载 作者:行者123 更新时间:2023-12-01 02:54:52 24 4
gpt4 key购买 nike

我正在使用 ASP .NET Membership 数据库对 Web 应用程序中的用户进行身份验证。

用户使用他们的电子邮件地址登录,但在数据库的用户名字段中使用了其他内容。

所以在登录表单上,我使用 Membership.FindUsersByEmail 获取我的用户

问题是该函数在 SQL 中使用了“LIKE”,并且在该方法中没有对 SQL 通配符进行转义。

因此,例如在 a_df@example.com 上使用该方法将返回 a_df@example.com 和 asdf@example.com 的用户名(因为下划线被视为通配符)。

根据 wiki,电子邮件地址中接受引号、% 和一堆其他字符。

虽然我可以做类似的事情

emailAddr = emailAddr.Replace("_", "[_]").Replace("%", "[%]")...

在调用 Membership.FindUsersByEmail 之前,我认为必须有一种更简洁的方法来做到这一点。

最佳答案

在这种情况下,我想我会强制电子邮件地址必须是唯一的,然后通过 MembershipProvider.GetUserNameByEmail 获取用户。 .

关于asp.net - Membership.FindUsersByEmail - SQL 通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3390474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com