在自定义成员资格提供程序中删除区分大小写

时间:2010-03-06 04:33:46

标签: model-view-controller asp.net-membership case-sensitive custom-membershipprovider

我在ASP.net MVC中实现了一个自定义成员资格提供程序,并且无法弄清楚如何在登录时使用户名不区分大小写。因此,例如,“所罗门”可以登录,但“所罗门”不能登录。

我的实施非常简单。我基本上只为ValidateUser()和Change Password()编写代码。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

shimms就在那里。

在两个“层”之间拆分逻辑运算并不是一种合理的做法。

逻辑运算应该是原子的。所以只需在查询中降低...

e.g。

where Lower(username)=Lower(@username)

答案 1 :(得分:0)

将用户名转换为小写版本,然后将其与数据库中用户名的小写版本进行比较。 ANSI SQL将是:

WHERE LOWER(username) = :username

提供用户名参数:

... = username.ToLower();