public override void OnAddSession(HttpContext context)
        {
            DodoSession session = null;

            if (context.Request.Form["email"] != null)
            {
                session = CurrentDb.CheckEmail(
                    context.Request.Form["email"]);

                if (session == null)
                {
                    throw new Exception("Email is not correct");
                }
            }
            else
            {
                session = CurrentDb.CheckUserAndPwd(
                    context.Request.Form["user"], context.Request.Form["pwd"]);

                if (session == null)
                {
                    throw new Exception("User or Password is not correct");
                }
            }

            Sessions.AddSession(session);
            SetSessionState(context, session);
        }
Beispiel #2
0
 //TODO: Fix this affinity shit to work with sessions or cookies.
 private bool ServerAffinityExists(Message <string, string> message, out ServerChatter server)
 {
     if (Sessions != null)
     {
         if (message.Headers.ContainsKey("Id"))
         {
             if (Sessions.GetServerIdForClient(message, out string serverId))
             {
                 Console.WriteLine("Session exists.");
                 if (servers.TryGetValue(serverId, out ServerChatter sessionServer))
                 {
                     server = sessionServer;
                     return(true);
                 }
                 else
                 {
                     Console.WriteLine("Server doesn't exist where it used to.");
                     server = null;
                     return(true);
                 }
             }
             else
             {
                 if (AlgorithmServerPicker(message, out ServerChatter randomServer))
                 {
                     Console.WriteLine("Adding client to session.");
                     Sessions.AddSession(message, randomServer.Id);
                     server = randomServer;
                     return(true);
                 }
                 else
                 {
                     Console.WriteLine("Couldn't set server affinity.");
                     server = null;
                     return(false);
                 }
             }
         }
     }
     Console.WriteLine("No server affinity set.");
     server = null;
     return(false);
 }