LOGIN " trazer somente os clientes de um determinado usuário(funcionário)"?

[size=12pt][size=10pt]Galera boas saudações a todos [/size][/size]

             Estou com uma situação bem interessante , vejam bem,  [b]tenho um PROJETO que cada usuário(funcionário) tem seus próprios clientes[/b], o que eu quero fazer é o seguinte;
                        
                                         [b]a) Quando um  determinado usuário(funcionário), fazer o LOGIN no sistema venha aparece no formulário ou  na consulta somente aqueles clientes que por ele ou para ele foram cadastrados.[/b].

                                         [b]b) Quando o determinado  usuário(funcionário), fazer o LOGIN  ele não pode visualizar informações de um cliente que pertercem  a outro usuário(funcionário)[/b].

Agradeço desde já

Att.
Italo

se foi a sim que entendi: No seu BD o relacionamento seria 1-N

  1. criar um BD com informações do cliente (por exemplo: bd_clientes —> chave primaria cod_cliente)

        alem de nome, endereco, cidade  e etc... 
        Adcione um campo com chave estrangeira, por exemplo: [i]cod_usuario[/i]
    
  2. No BD criado pelo scriptcase, por exemplo: bd_usuarios ----> chave primaria cod_usuario)

  3. agora e’ so montar o codigo…



    .

Código? ainda tô com dúvidas.

No scriptcase já cria APLICAÇÃO USUÁRIO(LOGIN) O que quero é ver uma forma de associar o usuário logado com seus clientes, somente clientes respectivamente cadastrados para o determinado usuário.

então,
a estrutura do usuario, é crida pelo scriptcase.

No desenvolvimento da sua aplicação vc tem que definir os relacionamentos do banco de dados, onde um deles seria USUARIOS x CLIENTES

Ao definir a estrutura 1-N;

  1. no seu login, o scriptcase defini uma variavel chamada: sm_global_login coloque ela como variavel global utilizando esta função: sc_set_global($sm_global_login)

  2. na sua aplicação gerada tipo: grid_clientes, no SQL definido coloque um WHERE cod_usuario = ‘[sm_global_login]’

    Desta forma, quando o usuario logar, no caso o grid criado, ira carregar esta variavel com o usuario logado.

    Toda vez que o usuario logar, ele somente visualiza os clientes referentes a ele.

Italo

A coisa pra ficar boa, redondinha, vai ser um pouco complicada… Vejamos.

A ideia é você montar o seu sistema como se ele fosse multi-empresa e cada funcionário fosse por exemplo uma empresa … nesse caso ele teria acesso aos seus respectivos clientes e tudo o mais que dele depender. Se for apenas isso a solução é muito simples, basta que você crie mais um campo no cadastro do seu cliente onde tivesse o código do funcionário que o criou e ver o detalhamento que o Pessanha citou acima.

Agora, imagine que nesta empresa tenha um gerente que tenha acesso simultâneo apenas aos clientes dos funcionários A,B e C, mas não tenha acesso aos dos funcionários D, E e F. Outro gerente que tenha acesso aos clientes de A, C e F. E daí por diante. Nesse caso a solução é mais complicada…

a) Você terá que criar um campo a mais em cada tabela que seria o Proprietário do Registro (prop_reg);
b) Criar uma tabela com os Grupos de Acesso;
c) Criar uma tabela de Perfis de Acesso;
d) Criar uma tabela de Perfis de Grupos onde você determinará quais perfis poderão acessar tais grupos;
e) Criar uma Função/Procedure no banco para verificar quem pode o quê e tenha como retorno Sim ou Nao (PermiteAcesso);
f) Todo comando select do seu sistema terá uma cláusula where que conterá a função PermiteAcesso(’[sm_global_login]’,prop_reg) = ‘Sim’.

Ficou complicado? Pois é… a ideia é -> a) cada registro tem um proprietário; b) cada usuário pode acessar esse ou aquele registro.

Se você já tiver se cadastrado no site da Associação poderá baixar o projeto do próprio site, que já vem formado desta forma. Ou então me adicione no skype (jovitomelo@hotmail.com) e eu vou lhe ajudando a fazer…

Forte abraço.

Vou tentar fazer conforme as dicas dadas , depois posto aqui o resultado

Se você quiser posso enviar um exemplo para voce funcionando, informe apenas a estrura do login e cadastro e nivel de acesso caso aja.

Att

Arquimedes, tudo bem ? Poderia me mandar esse exemplo que vc tem no meu email ? erenha@gmail.com

abs

Eu to terminando de modifica-lo para coloca-lo disponível, assim que terminar eu coloco o link aqui para download.

Att Arquimedes

Arquimedes esqueceu de nós ??? abs

não tem muito misterio…

Aproveite o login gerado pelo SC,
dentro do evento onValid, por exemplo crie uma variavel armazenando o login do usuario e coloque a variavel como global no exemplo abaixo:

$glo_login = {login};

sc_set_global($glo_login);

Então,

agora no seu BD, crie um campo sei lá tipo: {usuarioID}

  • Apos o seu login, toda aplicação q vc tiver tera q receber a sua variavel global [glo_login].

Por exemplo:

  no seu grid de consulta, o seu SQL terá que ter o seguinte:  SELECT * FROM cliente WHERE usuarioID='[glo_login]'

isto, fará com q o seu grid filtre os cliente do usuario logado!

No seu formulario ao inserir um cliente, no campo {usuarioID}, vc coloca ele como “não mostra”, coloque como “valor definido”, e coloque a variavel global “[glo_login]”. Com isto, toda vez q for incluido um novo cliente, será registrado o usuario login.

BOM DAI GALERA ISSO AI E FACIL CRIAR UM LOGIN COM CODIGO UNICO O MEU PROBLEMA NAO E
BUSCA AS INFORMAÇÕES QUE EU CADASTREI COM O USUARIO E SO USA UMA VARIAVEL CLOBAL
NAS TABELAS DE DEPOIS NO LOGIN DEPOIS NO BANCO CRIAR UM ALTO INCREMENTO CODIGO UNICO E TAL BLZ
O PROBLEMA QUE TO PROCURANDO FAZ UM TEMPÃO E COMO CRIAR UM LOGOUT MAIS SEM USA O Target AQUILO ALI NAO E CERTO
ATE PORQUE ELE NAO LIMPA A CESSAO ALGUEM PODE ME AJUDA A CRIAR UM LOGOUT, QUE DESLOGA E LIMPE A CESSAO E DEPOIS VOLTA PRO LOGIN ,PELO AMO DE JESUS CRISTO ,DEPOIS COLOCO AQUI COMO CRIAR ESSA DUVIDA DE VCS AI BEMMMMM FACIL MESMO
MAIS FACIL MESMO ESSA PARTE DE BUSCA COM O CODIGOUNICO MAIS PRIMEIRO ME JUDEMMMMMMM

Boa madrugada galera,
Não esqueci de vcs nao, é que eu estava apenas muito, mais muito ocupado essas semanas.
Desenvolvi um sistema de exemplo com os seguintes requisitos:

a) limpeza de cessão ao clicar em sair.
b) usuario logado so ira visualizar pessoas do seu setor ou unidade.
c) menu com nivel de acesso, escondendo o item do menu se for administrador e exibindo se for atendente

Sistema desenvolvido em sc v6 e banco de dados mysql.
Dentro do arquivo sistema_nivel_acesso.rar existe dois arquivos um arquivo de backup do sistema exemplo e outro do banco de dados
em sql. crie um banco de dados com o nome “estudo” e depos va no v6 e em arquivo- importar projeto e selecione o arquivo
sc_201303100259_export_Exemplos.zip e pronto é so mandar gerar o codigo fonte.

endereço para download
http://www.4shared.com/rar/91H9nOvq/sistema_nivel_acesso.html?

Desculpa a demora.

Att Arquimedes

Amigo não consegui utilizar, meu scriptcase acusa que não foi feito na versao 7, tem como conseguir este material na versao 7?

Fico no aguardo

Amigo é só você editar a grid que vai exibir os clientes de cada funcionário, entra em SQL e no final do SELECT que exibe todos os clientes, você inclui uma cláusula WHERE, DESSE TIPO WHERE NomeUsuario = ‘[usr_login]’.

No meu caso eu fiz dessa forma de funcionou, você só vai alterar o NomeUsuario de acordo com o nome que foi criado na sua tabela do banco de dados.

Olá Jovito,

Estou em um projeto que tenho que implementar os acessos simultâneos. Não encontrei o respectivo projeto no sistema da associação.

Bom dia,
Teria como fazer esse SELECT dinamicamente. quando cadastrar um cliente na segurança, ele ja aparecer ?