Exemplo n.º 1
0
        /** Xử lý đăng nhập người dùng.
         *  1. Yêu cầu người dùng nhập thông tin đăng nhập.
         *  2. Kiểm tra thông tin username người dùng vừa nhập vào.
         *  3.
         **/
        public bool Login()
        {
            // Yêu cầu nhập thông tin đăng nhập.
            Console.WriteLine("----------------LOGIN INFORMATION----------------");
            Console.WriteLine("Username: "******"Password: ");
            var password = Console.ReadLine();
            // Tìm trong database thông tin tài khoản với username vừa nhập vào.
            // Trả về null nếu không tồn tại tài khoản trùng với username trên.
            // Trong trường hợp tồn tại bản ghi thì trả về thông tin account của
            // bản ghi đấy.
            YYAccount existingAccount = model.GetByUsername(username);

            // Nếu trả về null thì hàm login trả về false.
            if (existingAccount == null)
            {
                return(false);
            }

            // Nếu chạy đến đây rồi thì `existingAccount` chắc chắn khác null.
            // Tiếp tục kiểm tra thông tin password.
            // Mã hoá password người dùng vừa nhập vào kèm theo muối lấy trong database
            // của bản ghi và so sánh với password đã mã hoá trong database.
            if (!existingAccount.CheckEncryptedPassword(password))
            {
                // Nếu không trùng thì trả về false, đăng nhập thất bại.
                return(false);
            }

            // Trong trường hợp chạy đến đây thì thông tin tài khoản chắc chắn khác null
            // và password đã trùng nhau. Đăng nhập thành công.
            // Lưu thông tin vừa lấy ra trong database vào biến
            // `currentLoggedInYyAccount` của lớp Program.
            Program.currentLoggedInYyAccount = existingAccount;
            // Hàm trả về true, login thành công.
            return(true);
        }
Exemplo n.º 2
0
        public bool Login()
        {
            Console.WriteLine("----------------LOGIN INFORMATION----------------");
            Console.WriteLine("Username: "******"Password: ");
            var       password        = Console.ReadLine();
            YYAccount existingAccount = model.GetByUsername(username);

            if (existingAccount == null)
            {
                return(false);
            }

            if (!existingAccount.CheckEncryptedPassword(password))
            {
                return(false);
            }

            Program.currentLoggedInYyAccount = existingAccount;
            return(true);
        }