2011-01-13 8 views
0

を無視します。どうすれば "Test"!= "test"などを確認できますか? ありがとうLINQは私がLINQ文を次のようしている場合

+5

SqlServerで大文字と小文字を区別しないことを確認してください。 –

+2

また、パスワードをデータベースに保存しないでください。少なくとも、パスワードハッシュを保存し、ユーザー名に基づいてレコードを取得し、ハッシュを比較します。 – Robaticus

答えて

7

LINQはSQL Serverのケースを無視していません。 SQL Serverの大文字と小文字を区別するようにCOLLATIONを変更します。

1

どのLINQプロバイダーをお使いですか?それは重要です。例えば。 LINQ to XMLでは大文字と小文字が区別され、ToUpperVariant()を使用して大文字と小文字を区別する必要があります.SQLでは、SQLの照合設定によって動作が異なる場合があります。

2

クラウスさんのコメントごとに、問題が

を設定するSQLサーバーのCIである可能性が高いとしてしかし、いずれにしてもパスワードはクリアテキストを格納するための悪い習慣です - あなたはhashingを見なければならない、またはより良い、使用セキュリティフレームワーク(ASP.NET Membershipなど)を使用して管理します。

+1

また、一般的にユーザー名は大文字と小文字を区別し、大文字と小文字は区別します。 –

関連する問題