예제 #1
0
        /// <summary>
        /// Takes username and hashed password
        /// returns new Session for user
        /// </summary>
        /// <param name="username">username for user to log in</param>
        /// <param name="password">hashed password for user</param>
        /// <returns>User session</returns>
        public Session authenticate(string username, string password)
        {
            string          message = "";
            AccountRegistry accountRegistryInstance = AccountRegistry.Instance;
            User            user = findUser(accountRegistryInstance, username);

            if (user != null)
            {
                if (user.validatePassword(password, ref message))
                {
                    return(new Session(user));
                }
            }
            if (message == "")
            {
                message = "Username or password incorrect";
            }

            return(new Session(null, message));
        }
예제 #2
0
 /// <summary>
 /// return user with username from accountRegistry
 /// </summary>
 /// <param name="accountRegistry">Account registry instance</param>
 /// <param name="username">username to search for</param>
 /// <returns>User in account registry with given username</returns>
 public User findUser(AccountRegistry accountRegistry, string username)
 {
     return(accountRegistry.users.Find(x => x.getUsername().CompareTo(username) == 0));
 }