protected override bool DoPasswordCheck(string userName, string oldPassword, string newPassword) { if (!rootPasswordChecker.IsPasswordOk(userName, oldPassword, newPassword)) { // 长度检查失败 或者太简单, 直接返回. this.ErrorMessage = rootPasswordChecker.ErrorMessage; return(false); } // 检查通过次数. int checkPassTimes = 0; foreach (PasswordChecker checker in checkerArray) { if (checker.IsPasswordOk(userName, oldPassword, newPassword)) { checkPassTimes++; } } if (checkPassTimes < 3) { this.ErrorMessage = @"密码必须要包含以下四类字符中的三类字符: 英文大写字母(A 到 Z) 英文小写字母(a 到 z) 10 个基本数字(0 到 9) 非字母字符(例如 !、$、#、%)"; return(false); } // 检查通过 return(true); }