예제 #1
0
        /// <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;
            }
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        /// <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);
            }
        }
예제 #4
0
        /// <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;
            }
        }