Globais não reconhecidas nas aplicações

Estou desenvolvendo um projeto, e no modo desenvolvimento tudo funciona normal, mas quando subo para web, após logado até ao menu tudo vai bem, as variáveis de login, todas ficam normalmente populadas, mas quando eu clico nas opções do menu para chamar as aplicações, os valores que foram armazenados nas globais, mesmo que no menu esteja mostrando tais valores, não são reconhecidos nas aplicações.

Eu acho que isso se deu depois que eu deixei as aplicações em modo de segurança e sem acesso direto pela url do navegador, eu estou tratando a permissão de acesso às plicações chamadas pelo menu em tempo de execução, pois a aplicação de login eu estou fazendo em um controle normal, não estou usando o módulo de segurança nativo do scriptcase.

Acredito que a falha esteja no seu código já que não está usando a segurança do SC.

Estou com esse problema com variaveis Globais, principalmente na passagem de uma app para outra utilizando o SC_REDIR. O suporte da SC esta pesquisando e segundo as analises pre liminares , parece um BUG da nova versao. Assim que tiver resposta mais concreta volto a informar. Isso esta tirando meu sono. Vamos ver a velocidade de resposta deles porque o padrão é de longo tempo de espera. Infelizmente , pois esta ferramenta agiliza muito o tempo de desenvolvimento , mas peca na correção dos problemas.

Não sei Haroldo, acho que aqui está correto. Segue meu código do onValidate da aplicação de controle de login:

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(sc_encode({senha}));

$id_sindicato = valida_sindicato({nome_sindicato});

if ($id_sindicato > 0){
$sql = “SELECT id,
active,
name,
priv_admin,
id_sindicato
FROM users
WHERE login = $slogin
AND pswd = $spswd
AND id_sindicato = ‘$id_sindicato’”;

sc_lookup(rs, $sql);
//Se positivo!

if(strlen(trim({rs[0][4]})) > 0){
	//acessa
	if({rs[0][1]} == 'Y'){
		$usr_id		= {rs[0][0]};
		$usr_name	= {rs[0][2]};
		$priv_admin	= {rs[0][3]};
		
		[id_sindicato] = $id_sindicato;
		[usr_id] = $usr_id;
		[usr_name] = $usr_name;
		[priv_admin] = $priv_admin;
			
		sc_apl_status("treemenu","on");
		
		sc_redir(treemenu,permiteacesso='S');
	}else{
		sc_error_message({lang_error_not_active});
		sc_error_exit();
	}
}else{
	$error_message = 'Sindicato não identificado.'; // Error message

	sc_error_message($error_message);
	sc_error_exit();
}

Tudo aqui está fazendo certo. até chamar o treemenu. No treemenu as informações nestas globais chegam lá normalmente. As globais estão como session a [id_sindicato] está como entrada pois ela vai está no sql e nos campos das outras aplicações, o valor desta variável vai está em todas as tabelas por isso deixei em session de entrada.

publiquei em uma pasta local e executei, e tudo funciona como quero, rodando como teste em desenvolvimento também roda tudo perfeito. só quando subo para a web que vou rodar lá é que as variáveis só chegam com valores até o treemenu, na chamada das aplicações não chegam mais os valores, a variável está como vazia.

Acho que se fosse no código, não executava em local, posso está errado, mas interpreto assim, uma vez que o código é o mesmo.

Só informando meu sc é 8.1

Desde já agradeço a atenção de quem puder me ajudar.

Marcou como sessão essas globais ?

Sim, marquei no controle de login

voce comentou que não esta usando os módulos se segurança, não sei como o SC trabalha sem o modulo de segurança, sempre uso e adapto novos campos na tabela e altero, mas não usando, na teoria, não precisaria colocar o session_start() onde esta criando e no inicio das aplicações para recuperar a sessão?

ou criando o SC já entende que elas são para todas as paginas seguintes?

Todas aplicações Scriptcase realizam o session_start();

talvez usar sc_set_global (como é no login da segurança) em vez de criar [variavel] = valor.