public ValidationResult ValidateUser(string username, string password) { if (String.IsNullOrEmpty(username)) { throw new ArgumentException("Value cannot be null or empty.", "username"); } if (String.IsNullOrEmpty(password)) { throw new ArgumentException("Value cannot be null or empty.", "password"); } Log.Verbose("EF: Validating user {UserName}", username); username = username.ToLowerInvariant(); using (var database = CreateContext()) { var user = database.Users.FirstOrDefault(i => i.Username == username); if (user != null) { var result = _passwordService.ComparePassword(password, username, user.PasswordSalt, user.Password) && IpMacValidator.Validate(user.Mac) ? ValidationResult.Success : ValidationResult.Failure; Log.Verbose("EF: User {UserName} validation result {Result}", username, result); return(result); } else { Log.Warning("EF: Failed to find user {UserName}", username); } } return(ValidationResult.Failure); }
public bool ValidateUser(string username, string password) { if (String.IsNullOrEmpty(username)) { throw new ArgumentException("Value cannot be null or empty.", "userName"); } if (String.IsNullOrEmpty(password)) { throw new ArgumentException("Value cannot be null or empty.", "password"); } username = username.ToLowerInvariant(); using (var database = _createDatabaseContext()) { var user = database.Users.FirstOrDefault(i => i.Username == username); return(user != null && _passwordService.ComparePassword(password, username, user.Password)); } }