Wie um zu überprüfen, die groß-und Kleinschreibung von Benutzername beim login auf einer Website in MVC 5 mit LINQ

Ich Brauche Hilfe um zu überprüfen, die groß-und Kleinschreibung von LoginId & Passwort Wie Admin und Passwort : SsA.123 gegenwärtig aber dauert es als admin LoginId und ssa.123 als Passwod.

public static class LoginValidation
{
     //VALIDATE LOGIN AND GET USER NAME AND USER ID FOR FUTURE USE
     public static bool Validate_Login(string first_input, string password, DBEntities db, out string Name, out int id)
     {

         Name = db.MAST_User.Where(x => x.LoginId == first_input).Select(x =>  x.UserName).FirstOrDefault();//GET USER NAME TO DISPLAY AFTER LOGIN

         id = db.MAST_User.Where(x => x.LoginId == first_input).Select(x => x.MastId).FirstOrDefault();             //GET USER ID TO CHECK RIGHTS

         return db.MAST_User.First(x => x.LoginId == first_input).Password == password ? true : false;             //RETURNS BOOLEAN VALUE TRUE OR FALSE
     }

}
  • Im Allgemeinen erwarten die Nutzer den Benutzernamen mit groß-und Kleinschreibung. Fast alle Systeme, die nicht unterscheiden, den Fall der Benutzername. Passwörter sind groß-und Kleinschreibung, aber man sollte NIE speichern von Klartext-Passwörter in Ihrer Datenbank. Speichern Sie hash-Werte und vergleichen der hashes.



One Reply
  1. 1

    Ihren Vergleich Abfrage ausführt, in der Datenbank-server und es kann festgelegt werden, mit groß-und Kleinschreibung (z.B. SQL-server ist die groß-und Kleinschreibung standardmäßig).

    Einfachste Möglichkeit wäre, bringen Sie Ihre Abfrage-Ergebnisse, um Speicher durch Umwandlung in eine Array()/List()/Variable zu vergleichen und dann innerhalb C# code. Ex;

    //Load into memory
    var users = db.MAST_User.Where(x => x.LoginId == first_input).ToArray(); 
    
    //Compare in C#
    if(users.Any(u=> u.LoginId == first_input && u.Password == password))
    {
        return true;
    }
    return false;

    Auf einem separaten Hinweis, überprüfen Sie bitte Ihre FirstOrDefault() Objekt für null bevor er seine Eigenschaften auf andere Variablen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.