ASP.net Web サービス (C#、3.5) に接続する Android アプリケーションを作成しています。
Android アプリケーションは、ユーザーの「サインイン」情報を Web サービスに送信して、ユーザーが登録されているかどうかを確認します。
[WebMethod]
リクエストを受け取るのは次のとおりです。
[WebMethod]
public SigninPerson signin(SigninPerson SIPerson)
{
SigninPerson Temp = new SigninPerson(0, "", "", "", "");
LinqToSQLDataContext DataBase = new LinqToSQLDataContext();
var Person = (from a in DataBase.Persons
where a.Email == SIPerson.E_Mail &&
a.Password.Equals(SIPerson.Password,StringComparison.Ordinal)
select new SigninPerson
{
Person_Id = a.Person_Id,
F_Name = a.First_Name,
L_Name = a.Last_Name,
E_Mail = a.Email,
Password = a.Password
});
if (Person.Any() == true)
{
Temp = Person.FirstOrDefault();
}
return Temp;
}
SigninPerson
First Name、Last Name、Password などのユーザー情報を保持するクラスです。
問題はパスワードの比較にあります。それはすべてのケースを受け入れました
例えば:
データベースに保存されている誰かのパスワードが「ABD」で、ユーザーがパスワードとして「abd」を入力した場合、アプリケーションはそれを受け入れました! (大文字と小文字を区別しません !!!)
この問題を解決するには?