我在ASP.net MVC中实现了一个自定义成员资格提供程序,并且无法弄清楚如何在登录时使用户名不区分大小写。因此,例如,“所罗门”可以登录,但“所罗门”不能登录。
我的实施非常简单。我基本上只为ValidateUser()和Change Password()编写代码。
感谢您的帮助!
答案 0 :(得分:2)
shimms就在那里。
在两个“层”之间拆分逻辑运算并不是一种合理的做法。
逻辑运算应该是原子的。所以只需在查询中降低...
e.g。
where Lower(username)=Lower(@username)
答案 1 :(得分:0)
将用户名转换为小写版本,然后将其与数据库中用户名的小写版本进行比较。 ANSI SQL将是:
WHERE LOWER(username) = :username
提供用户名参数:
... = username.ToLower();