/** 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); }
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); }