예제 #1
0
파일: UTests.cs 프로젝트: JustinVazquez/SVS
        public void Validate()
        {
            var con = DbHelper.GetDbConnection();

            con.Open();
            var name     = "Justin_Vazquez";
            var password = "******";

            if (!string.IsNullOrWhiteSpace(UserAccess.GetName(con, name)))
            {
                var userID = UserAccess.GetIdByName(con, name);
                var hash   = UserAccess.GetHash(con, userID);
                var salt   = UserAccess.GetSalt(con, userID);

                try
                {
                    if (SaltHashHelper.ValidatePassword(password, hash, salt))
                    {
                        Console.Write(UserAccess.GetUser(con, name, hash));
                    }
                    else
                    {
                        Console.Write("Error");
                    }
                }
                catch (Exception error)
                {
                    Console.Write(error);
                }
                finally
                {
                    con.Close();
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Methode um einen User für den Login zu Validieren
        /// </summary>
        /// <param name="name">User Name</param>
        /// <param name="password">User Password</param>
        /// <returns>Ein Objekt vom Typ User</returns>
        public UserModel Login(string name, string password)
        {
            var con = DbHelper.GetDbConnection();

            con.Open();

            //Wenn der User existiert dann weiter.
            if (!string.IsNullOrWhiteSpace(UserAccess.GetName(con, name)))
            {
                //Hash und Salt aus der Datenbank anhand der UserID die durch den Username ermittelt wird
                var userID = UserAccess.GetIdByName(con, name);
                var hash   = UserAccess.GetHash(con, userID);
                var salt   = UserAccess.GetSalt(con, userID);

                try
                {
                    //Validiert den Hash aus der Datenbank mit dem Passwort aus der Login-Form
                    if (SaltHashHelper.ValidatePassword(password, hash, salt))
                    {
                        var user = UserAccess.GetUser(con, name, hash);
                        user.KlassenName = StundeplanAccess.GetKlasseText(con, user.Klasse);
                        return(user);
                    }
                    else
                    {
                        return(null);
                    }
                }
                catch (Exception error)
                {
                    Console.Write(error);
                }
                finally
                {
                    con.Close();
                }
            }

            return(null);
        }