代码之家  ›  专栏  ›  技术社区  ›  Solomon

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

  •  0
  • Solomon  · 技术社区  · 16 年前

    我在asp.net mvc中实现了一个自定义的成员资格提供程序,但是我不知道如何在登录时使用户名不区分大小写。例如,“所罗门”可以登录,但“所罗门”不能。

    我的实现非常简单。我基本上只是为validateuser()和change password()编写了代码。

    谢谢你的帮助!

    2 回复  |  直到 14 年前
        1
  •  2
  •   Sky Sanders    16 年前

    微光已经到一半了。

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

    逻辑操作应该是原子的。所以在查询中降低这两个值…

    例如

    where Lower(username)=Lower(@username)
    
        2
  •  0
  •   Michael Shimmins    16 年前

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

    WHERE LOWER(username) = :username
    

    提供用户名参数如下:

    ... = username.ToLower();