/// <summary>See base.</summary> protected override bool changePassword(string username, string newPasswordHash, Func<string, bool> verifyOldPasswordHash) { lock (_lock) { AuthUsers users; try { users = ClassifyXml.DeserializeFile<AuthUsers>(_usersPath); } catch { users = null; } if (users == null) users = new AuthUsers(); var user = users.Users.FirstOrDefault(u => u.Username == username); if (user == null || (verifyOldPasswordHash != null && !verifyOldPasswordHash(user.PasswordHash))) return false; user.PasswordHash = newPasswordHash; ClassifyXml.SerializeToFile<AuthUsers>(users, _usersPath); return true; } }
/// <summary>See base.</summary> protected override bool changePassword(string username, string newPasswordHash, Func <string, bool> verifyOldPasswordHash) { lock (_lock) { AuthUsers users; try { users = ClassifyXml.DeserializeFile <AuthUsers>(_usersPath); } catch { users = null; } if (users == null) { users = new AuthUsers(); } var user = users.Users.FirstOrDefault(u => u.Username == username); if (user == null || (verifyOldPasswordHash != null && !verifyOldPasswordHash(user.PasswordHash))) { return(false); } user.PasswordHash = newPasswordHash; ClassifyXml.SerializeToFile <AuthUsers>(users, _usersPath); return(true); } }
/// <summary>See base.</summary> protected override bool createUser(string username, string passwordHash, bool canCreateUsers) { lock (_lock) { AuthUsers users; try { users = ClassifyXml.DeserializeFile <AuthUsers>(_usersPath); } catch { users = null; } if (users == null) { users = new AuthUsers(); } if (users.Users.Any(u => u.Username == username)) { return(false); } users.Users.Add(new AuthUser { Username = username, PasswordHash = passwordHash, CanCreateUsers = canCreateUsers }); ClassifyXml.SerializeToFile <AuthUsers>(users, _usersPath); return(true); } }
/// <summary>See base.</summary> protected override bool createUser(string username, string passwordHash, bool canCreateUsers) { lock (_lock) { AuthUsers users; try { users = ClassifyXml.DeserializeFile<AuthUsers>(_usersPath); } catch { users = null; } if (users == null) users = new AuthUsers(); if (users.Users.Any(u => u.Username == username)) return false; users.Users.Add(new AuthUser { Username = username, PasswordHash = passwordHash, CanCreateUsers = canCreateUsers }); ClassifyXml.SerializeToFile<AuthUsers>(users, _usersPath); return true; } }