ASP.net MVC にカスタム メンバーシップ プロバイダーを実装しましたが、サインイン時にユーザー名の大文字と小文字を区別しないようにする方法がわかりません。たとえば、「Solomon」はログインできましたが、「solomon」はログインできませんでした。
私の実装は非常に基本的なものです。基本的に、ValidateUser() と Change Password() のコードを書きました。
助けてくれてありがとう!
ASP.net MVC にカスタム メンバーシップ プロバイダーを実装しましたが、サインイン時にユーザー名の大文字と小文字を区別しないようにする方法がわかりません。たとえば、「Solomon」はログインできましたが、「solomon」はログインできませんでした。
私の実装は非常に基本的なものです。基本的に、ValidateUser() と Change Password() のコードを書きました。
助けてくれてありがとう!
シムズは中途半端。
論理演算を 2 つの「層」に分割することは適切な方法ではありません。
論理操作はアトミックである必要があります。したがって、クエリで両方を下げるだけです...
例えば
where Lower(username)=Lower(@username)
ユーザー名を小文字バージョンに変換し、それをデータベース内の小文字バージョンのユーザー名と比較します。ANSI SQL は次のようになります。
WHERE LOWER(username) = :username
ユーザー名パラメーターを次のように指定します。
... = username.ToLower();