예제 #1
0
 public void Authenticate(String username, String password)
 {
     if (AuthenticatedUsers.ContainsKey(username))
     {
         if (AuthenticatedUsers[username] == password)
         {
             AuthTuple = new Tuple <string, string>(username, password);
             SocketWriter.WriteToSocket(NWStream, "OK");
         }
         else
         {
             SocketWriter.WriteToSocket(NWStream, "FAILED");
         }
     }
     else
     {
         SocketWriter.WriteToSocket(NWStream, "FAILED");
     }
 }
예제 #2
0
        internal void Register(String username, String password)
        {
            if (AuthenticatedUsers.ContainsKey(username))
            {
                SocketWriter.WriteToSocket(NWStream, "FAILED");
            }
            else
            {
                AuthenticatedUsers.Add(username, password);

                Stream          stream     = File.Open(StorageLocation + "users.osl", FileMode.OpenOrCreate);
                BinaryFormatter bformatter = new BinaryFormatter( );
                bformatter.Serialize(stream, AuthenticatedUsers);

                stream.Close( );

                AuthTuple = new Tuple <string, string>(username, password);
                SocketWriter.WriteToSocket(NWStream, "OK");
            }
        }
예제 #3
0
        public AuthenticatedUser GetAuthenticatedUser(string userId)
        {
            try
            {
                if (!AuthenticatedUsers.ContainsKey(userId))
                {
                    if (!AuthenticatedUsers.TryAdd(userId, new AuthenticatedUser()
                    {
                        UserId = userId
                    }))
                    {
                        return(null);
                    }
                }

                return(AuthenticatedUsers[userId]);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e);
                Debug.Assert(false, Invariant($"Error on create authenticated user: {e}"));
                return(null);
            }
        }