public override string ResetPassword(string username, string answer)
{
var doc = new XmlDocument();
doc.Load(XmlFullyQualifiedPath);
var nodes = doc.GetElementsByTagName("User");
var newPassword = Utils.RandomPassword();
foreach (var node in
nodes.Cast<XmlNode>().Where(
node =>
node["UserName"].InnerText.Equals(username, StringComparison.OrdinalIgnoreCase) &&
!string.IsNullOrEmpty(node["Password"].InnerText)))
{
string passwordPrep;
if (this.passwordFormat == MembershipPasswordFormat.Hashed)
{
passwordPrep = Utils.HashPassword(newPassword);
}
else
{
passwordPrep = newPassword;
}
node["Password"].InnerText = passwordPrep;
doc.Save(XmlFullyQualifiedPath);
this.users = null;
this.ReadMembershipDataStore();
return newPassword;
}
return string.Empty;
}