Autor Tópico: aplicacao utilizando modulo de seguranca  (Lida 4190 vezes)

lowczy

  • Iniciante
  • **
  • Mensagens: 92
    • Email
aplicacao utilizando modulo de seguranca
« Online: Janeiro 28, 2011, 08:51:31 am »
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


Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #1 Online: Janeiro 28, 2011, 01:49:11 pm »
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.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

lowczy

  • Iniciante
  • **
  • Mensagens: 92
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #2 Online: Janeiro 28, 2011, 03:07:09 pm »
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

 

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #3 Online: Janeiro 28, 2011, 03:08:18 pm »
Tentou inverter?
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

lowczy

  • Iniciante
  • **
  • Mensagens: 92
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #4 Online: Janeiro 29, 2011, 07:51:16 am »
Sim, ja tentei com on e com off

simplesmente so funciona quando tiro a seguranca

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #5 Online: Janeiro 29, 2011, 10:16:30 am »
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.
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

lowczy

  • Iniciante
  • **
  • Mensagens: 92
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #6 Online: Janeiro 29, 2011, 10:37:33 am »
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

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #7 Online: Janeiro 29, 2011, 05:19:34 pm »
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?
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

lowczy

  • Iniciante
  • **
  • Mensagens: 92
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #8 Online: Janeiro 29, 2011, 06:11:31 pm »
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');

Cleyton Euler

  • Expert
  • *****
  • Mensagens: 1149
    • Associação de Usuários Scriptcase
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #9 Online: Janeiro 31, 2011, 08:20:52 am »
Na sua tabela de aplicações a aplicação menu está cadastrada. Foi dada permissão para o usuário?
Associação de Usuários Scriptcase
http://www.auscriptcase.com.br

Consultoria Scriptcase Versão 5
http://www.infinitusweb.com.br

lowczy

  • Iniciante
  • **
  • Mensagens: 92
    • Email
Re: aplicacao utilizando modulo de seguranca
« Responder #10 Online: Janeiro 31, 2011, 12:23:37 pm »
vou verificar mas a principio estao todas pois foi gerado pelo sc na implementacao do security