public static bool validezUsuario(HttpRequest hr) { try { if ((hr.Cookies["token"] != null) && !string.IsNullOrEmpty(hr.Cookies["token"].Value) && hr.Cookies["token"].Value.Contains('I')) { if (hr.Cookies["token"].Value.Contains('=')) { string tokenUsuario = Utilities.tratarParam(hr.Cookies["token"].Value.Split('=')[1]); if (Utilities.comprobarValidezUsuario(tokenUsuario) == 1) { int idUsuario = Convert.ToInt32(tokenUsuario.Split('I')[0]); if (idUsuario > 0) { string query = $@"SELECT TOP 1 * FROM Usuarios WHERE idUsuario = {idUsuario} AND token = '{Utilities.tratarParam(tokenUsuario)}'"; DataTable dt = DatabaseConnection.executeNonQueryDT(query, CommandType.Text, ConnectionString.Lambiscadas); if (dt.Rows.Count > 0) { return(true); } //int rol = Convert.ToInt32(DatabaseConnection.executeScalar(query, CommandType.Text, ConnectionString.SomNautic)); //if(rol == 1) return true; } } } else { string tokenUsuario = Utilities.tratarParam(hr.Cookies["token"].Value); if (Utilities.comprobarValidezUsuario(tokenUsuario) == 1) { int idUsuario = Convert.ToInt32(tokenUsuario.Split('I')[0]); if (idUsuario > 0) { string query = $@"SELECT TOP 1 * FROM Usuarios WHERE idUsuario = {idUsuario} AND token = '{Utilities.tratarParam(tokenUsuario)}'"; DataTable dt = DatabaseConnection.executeNonQueryDT(query, CommandType.Text, ConnectionString.Lambiscadas); if (dt.Rows.Count > 0) { return(true); } } } } } else { // En este caso tenemos el token por parámetro en la url // y si hemos llegado a este punto es por que la cookie y la sesión no está creada // La creamos string tokenUsuario = Utilities.getParam(hr, "token"); if (Utilities.comprobarValidezUsuario(tokenUsuario) == 1) { int idUsuario = Convert.ToInt32(tokenUsuario.Split('I')[0]); if (idUsuario > 0) { string query = $@"SELECT TOP 1 * FROM Usuarios WHERE idUsuario = {idUsuario} AND token = '{Utilities.tratarParam(tokenUsuario)}'"; int rol = Convert.ToInt32(DatabaseConnection.executeScalar(query, CommandType.Text, ConnectionString.Lambiscadas)); if (rol == 1) { Basico.crearCookie(tokenUsuario); return(true); } } } } return(false); } catch (Exception e) { return(false); } }