aplicacao utilizando modulo de seguranca

Bom dia, mais uma vez pedindo Help

é o seguinte , tenho um projeto onde utilizo duas conexoes, a primeira aponta para um banco de dados que gerencia empresas (sistema multi-empresas) que possam acessar o sistema e a segunda aponta para o sistema em si onde se solicita outro login (multi-usuarios dentro da empresa individualmente).

Apliquei o modulo de segurança no modulo que gerencia o menu da aplicacao, deixei todas as aplicacoes com seguranca habitada menos o formulario master .

Criei um form de controle (formulario master) onde acessando a primeira base permite e redireciona pra o control_login (formulario criado pelo modulo de segurança)

os detalhes da seguranca na aplicacao principal antes do control_login esta off apos a geracao pelo scriptcase, mudando pra on via scriptcase

o problema é o seguinte
a aplicacao control_login deveria comecar com a seguranca ativada pois so pode ser acessada se passar no login do formulario master , assim na 1 aplicacao uso, seto manualmente on via sc e depois na aplicacao master uso no evento onvalidate do formulario master

sc_apl_status('control_login_1', 'off');		 
    sc_redir('control_login_1');	

nesse ponto ele abre a 2 aplicacao ( o que deveria realmente acontecer ) o modulo docontrol_login e pede a senha do usuario

porem ai que surge o erro

no evento onvalidade do control_login na linha onde esta
sc_redir(‘Menu’);

da a mensagem USUARIO NAO AUTORIZADO quando o control_login esta com seguranca ativada

e
se desabilitar a seguranca via scriptcase executa normal indo para o menu do sistema (menu.php)

nao estou entendendo porque se coloco
em off no control_login o sistema funciona
mas se colocar
sc_apl_status(‘menu’, ‘off’);
sc_redir(‘menu’);

da USUARIO NAO AUTORIZADO

se alguem souber onde esta o meu erro pela inexperiencia agradeço a orientação

Eu simplificaria isso fazendo tudo no control_login.

Mas se vc está setando o menu para off, acho que vai dá mesmo usuário não autorizado.

nao sei se da pra ser diferente pois sao duas bases de dados

uma para empresas autorizadas

outra para usuarios das empresas

e depois ainda serao banco de dados diferentes para cada empresa

agora estou apanhando primeiro nos logins

e se eu seto o menu pra off nao seria para desabilitar a seguranca do menu apos ter passado
pelo login

ou estou fazendo confusao no conceito de on e off da seguranca

Tentou inverter?

Sim, ja tentei com on e com off

simplesmente so funciona quando tiro a seguranca

Olha no SC vc pode ter mais de uma conexão na mesma aplicação sem problemas. Até nos lookups vc tem como configurar qual a conexão será utilizada.

Sobre o seu problema, posta os códigos para galera analisar e ver o que pode estar errado.

valeu cleyton vou ver a sua dica e os codigos sao simples

seguranca nao ativada
on validate do formulario master

sc_reset_apl_conf();

$var_login = sc_sql_injection({login});
$var_password = sc_sql_injection({password});
//sc_sql_injection(md5({password}));

sc_lookup(ds_user, "select * from usuarios where login_usuario = $var_login and password_usuario = $var_password ");

if ({ds_user} != false)
{
$USUARIO_GLOBAL = {ds_user[0][2]};
$USUARIO_INDIVIDUAL_GLOBAL = {ds_user[0][0]};

sc_set_global($USUARIO_GLOBAL);
sc_set_global($USUARIO_INDIVIDUAL_GLOBAL);

}
else
{
sc_error_message(“Acesso negado !”);
}

sc_apl_status('control_login', 'off');  // formulario de seguranca do sc gerado
    sc_redir('control_login', "", "_self");

essa parte esta ok funciona

no formulario gerado pelo sc no modulo de seguranca

seguranca ativada
on validate do formulario control_login
$var_login = sc_sql_injection({login});
$var_password = sc_sql_injection({password});

$sm_global_login = $var_login;
$sm_global_password = $var_password;
$login_user = $sm_global_login;	
	
sc_set_global($sm_global_login);
    sc_set_global($login_user);
sc_set_global($sm_global_password);

sc_lookup(ds_user, "select login, senha from tbl_usuarios where login = $var_login and senha = $var_password ");

if ({ds_user} != false)
{
sc_lookup(ds_user_app, "select tbl_grupos_x_apps.cod_aplicacao from tbl_grupos_x_apps inner join tbl_usuarios_x_grupos on tbl_grupos_x_apps.cod_grupo = tbl_usuarios_x_grupos.cod_grupo where tbl_usuarios_x_grupos.login = ‘{login}’ ");

if ({ds_user_app} != false)
{
	for($i = 0; $i < count({ds_user_app}); $i++)
	{		    
		sc_apl_status({ds_user_app[$i][0]}, 'on');
	}
}

//sc_apl_status('menu','off') ou com sc_apl_status('menu','on');
sc_redir('Menu');  		

}
else
{
sc_error_message(“Acesso negado !”);
}

aqui da acesso negado e esse é o meu problema

grato

Se está caindo no else, o problema pode estar no if:

else
{
sc_error_message(“Acesso negado !”);
}

Já conferiu se o recordset está retornando dados?

talvez eu nao tenha sido claro

ele faz tudo certo
passa pelos ifs acha os usuarios tudo blz
porem ao executar

sc_redir(‘Menu’);

da mensagem
usuario nao autorizado

independente de eu colocar
sc_apl_status(‘menu’,‘off’) ou com sc_apl_status(‘menu’,‘on’);

Na sua tabela de aplicações a aplicação menu está cadastrada. Foi dada permissão para o usuário?

vou verificar mas a principio estao todas pois foi gerado pelo sc na implementacao do security

.