private void Receive(string data) { try { string[] vars = data.Split('|'); int opcode = int.Parse(vars[0]); ClientPacket receivePacket = null; switch (opcode) { case 1: receivePacket = new AuthenticateUserTicket(); break; case 2: receivePacket = new UserJoinRoom(); break; case 3: receivePacket = new UserClickTile(); break; case 4: receivePacket = new UserPendingPlayers(); break; case 5: receivePacket = new InteractItem(); break; case 6: receivePacket = new RequestNavigatorRoom(); break; case 7: receivePacket = new ComposeInventoryRequest(); break; case 8: receivePacket = new InventoryPoseItem(); break; case 9: receivePacket = new InventoryPoseItemOnTile(); break; case 10: receivePacket = new PickItem(); break; } if (receivePacket != null) { receivePacket.Client = this; receivePacket.data = vars; new Thread(receivePacket.ExecuteAllThePacket).Start(); } else if (ConfigManager.GetBool("connection.missing.packet")) { Logger.Warn($"Received unknown packet. [{data}]"); } } catch (Exception e) { Logger.Error("Error received data from GC => " + e.ToString()); } }
public void OnAuthorization(AuthorizationContext filterContext) { var request = filterContext.HttpContext.Request; AuthenticateUserTicket ticket = AuthenticateHelper.AuthenticateTicket(); if (ticket != null && !ticket.Expired) { if (request.AppRelativeCurrentExecutionFilePath.ToUpper() == AuthenticateHelper.LoginUrl.ToUpper()) {//已经登录则不能再进入登录页面 filterContext.Result = new RedirectResult(AuthenticateHelper.LoginRedirectPage); return; } filterContext.HttpContext.User = new AuthenticateUser(ticket); } else { filterContext.Result = new RedirectResult(AuthenticateHelper.LoginUrl); } }