private static void CreateSesiones(MAEUserSession be, byte idAplicacion) { SesionEntity se = new SesionEntity(); se.IdUsuario = be.IdUsuario; se.Ip = be.Ip; se.FechaInicio = be.FechaInicio; se.FechaFinalizacion = be.FechaFinalizacion; se.IdAplicacion = be.IdAplicacion; se.IdPersona = be.IdPersona; se.IdSesion = Guid.NewGuid(); se.modifiedOrNew = true; se.Global = be.Global; se.PrivateKey = be.PrivateKey; se.PublicKey = be.PublicKey; se.ServerPublic = be.ServerPublic; se.ServerSecret = be.ServerPublic; se.ClientPublic = be.ClientPublic; se.ClientSecret = be.ClientSecret; se.Nonce = be.Nonce; se.JavascriptAllowedCommands = be.JavascriptAllowedCommands; se.PermisosUsuario = be.PermisosUsuario; se.AllowedCommands = be.AllowedCommands; se.ConfiguracionRegional = be.ConfiguracionRegional; PersistSessionHelper.Instance.AddOrUpdate(se); be.InternalId = se.IdSesion; be.ID = OrdenesApplication.Instance.GetSessionIdForRequest(se.IdSesion.ToString()); GetSesionExistente(se.IdSesion, idAplicacion); }
private void Insertar(SesionEntity sesion) { List <SqlParameter> lista = new List <SqlParameter>(); lista.Add(SqlServerHelper.GetParam("@IdSesion", sesion.IdSesion.ToString())); lista.Add(SqlServerHelper.GetParam("@IdUsuario", sesion.IdUsuario)); lista.Add(SqlServerHelper.GetParam("@Ip", sesion.Ip)); lista.Add(SqlServerHelper.GetParam("@FechaInicio", sesion.FechaInicio)); lista.Add(SqlServerHelper.GetParam("@FechaFinalizacion", sesion.FechaFinalizacion)); lista.Add(SqlServerHelper.GetParam("@BajaLogica", sesion.BajaLogica)); lista.Add(SqlServerHelper.GetParam("@IdAplicacion", sesion.IdAplicacion)); lista.Add(SqlServerHelper.GetParam("@IdPersona", sesion.IdPersona)); lista.Add(SqlServerHelper.GetParam("@ClientPublic", sesion.ClientPublic)); lista.Add(SqlServerHelper.GetParam("@ClientSecret", sesion.ClientSecret)); lista.Add(SqlServerHelper.GetParam("@ServerPublic", sesion.ServerPublic)); lista.Add(SqlServerHelper.GetParam("@ServerSecret", sesion.ServerSecret)); var kvs = sesion.JavascriptAllowedCommands.Select(kvp => string.Format("\"{0}\":\"{1}\"", kvp.Key, kvp.Value)); string jsAllowedCommands = string.Concat("{", string.Join(",", kvs), "}"); lista.Add(SqlServerHelper.GetParam("@JsAllowedCommands", jsAllowedCommands)); if (sesion.PermisosUsuario != null) { var kvsPermUsuario = sesion.PermisosUsuario.Select(kvp => string.Format("\"{0}\":\"{1}\"", kvp.Key, kvp.Value)); string permUser = string.Concat("{", string.Join(",", kvsPermUsuario), "}"); lista.Add(SqlServerHelper.GetParam("@PermisosUsuario", permUser)); } lista.Add(SqlServerHelper.GetParam("@Nonce", sesion.Nonce)); lista.Add(SqlServerHelper.GetParam("@ConfiguracionRegional", sesion.ConfiguracionRegional)); SqlServerHelper.ExecuteNonQuery("shared_owner.SESSION_INSERT", lista); }
public void AddOrUpdate(SesionEntity sesion) { if (sesion.modifiedOrNew) { this.sesiones.AddOrUpdate(sesion.IdSesion, sesion, (k, v) => sesion); } }
public static void UpdateSesionesContext(MAEUserSession be, bool finalizadaPorLogout = false) { lock (syncSession) { SesionEntity se = PersistSessionHelper.Instance.GetSessionById(be.InternalId); se.FechaFinalizacion = be.FechaFinalizacion; se.IdPersona = be.IdPersona; se.modifiedOrNew = true; se.FinalizadaPorLogout = finalizadaPorLogout; PersistSessionHelper.Instance.AddOrUpdate(se); } }
public SesionEntity GetSessionById(Guid idSesion) { SesionEntity sesion = null; this.sesiones.TryGetValue(idSesion, out sesion); if (sesion == null) { sesion = SessionDAL.GetSessionById(idSesion); sesion.JavascriptAllowedCommands = sesion.jsAllowedCommands.Replace("{", string.Empty).Replace("}", string.Empty).Replace("\"", string.Empty).Split(',').ToDictionary(item => item.Split(':')[0], item => item.Split(':')[1]); sesion.PermisosUsuario = sesion.jsPermisosUsuario.Replace("{", string.Empty).Replace("}", string.Empty).Replace("\"", string.Empty).Split(',').ToDictionary(item => item.Split(':')[0], item => Boolean.Parse(item.Split(':')[1])); } return(sesion); }
public static MAEUserSession GetByIDSesiones(Guid idSesion) { SesionEntity se = PersistSessionHelper.Instance.GetSessionById(idSesion); if (se != null) { if (se.MaeUserSession == null) { PartyEntity pe = CachingManager.Instance.GetPersonaById(se.IdPersona); UsuarioEntity us = CachingManager.Instance.GetByIdUsuario(se.IdUsuario); se.MaeUserSession = new MAEUserSession(); se.MaeUserSession.ID = OrdenesApplication.Instance.GetSessionIdForRequest(se.IdSesion.ToString()); se.MaeUserSession.InternalId = se.IdSesion; se.MaeUserSession.IdUsuario = se.IdUsuario; se.MaeUserSession.Ip = se.Ip; se.MaeUserSession.FechaInicio = se.FechaInicio; se.MaeUserSession.FechaFinalizacion = se.FechaFinalizacion; se.MaeUserSession.IdAplicacion = se.IdAplicacion; se.MaeUserSession.UltimaActualizacion = se.UltimaActualizacion; se.MaeUserSession.IdPersona = se.IdPersona; se.MaeUserSession.IdTipoPersona = pe.IdPartyType; se.MaeUserSession.UserName = us.Nombre; //se.MaeUserSession.IdEmpresa = pe.IdEmpresa; se.MaeUserSession.Global = se.Global; se.MaeUserSession.PrivateKey = se.PrivateKey; se.MaeUserSession.PublicKey = se.PublicKey; se.MaeUserSession.ClientPublic = se.ClientPublic; se.MaeUserSession.ClientSecret = se.ClientSecret; se.MaeUserSession.ServerPublic = se.ServerPublic; se.MaeUserSession.ServerSecret = se.ServerSecret; se.MaeUserSession.Nonce = se.Nonce; se.MaeUserSession.JavascriptAllowedCommands = se.JavascriptAllowedCommands; se.MaeUserSession.PermisosUsuario = se.PermisosUsuario; se.MaeUserSession.AllowedCommands = se.AllowedCommands; se.MaeUserSession.ConfiguracionRegional = se.ConfiguracionRegional; se.MaeUserSession.LoginRealizado = CachingManager.Instance.GetByIdUsuario(se.IdUsuario).LoginRealizado; } return(se.MaeUserSession); } return(null); }
public void AddOrUpdate(SesionEntity session) { sessionPersistenceManager.AddOrUpdate(session); }
public void DeleteSession(Guid idSesion) { SesionEntity sesion = null; this.sesiones.TryRemove(idSesion, out sesion); }