DESAFIO! HELP! URGENTE! Administrador x usuário (parte 1)

Boa tarde galera do bem

Quero uma iluminação;

Vejam bem ;

Tenho um SISTEMA onde tenho um LOGIN

Nesse LOGIN tenho USUÁRIOS NORMAIS e ADMINISTRADOR do sistema

.Usuários normais só podem visualizar seus cadastros ou seja cada USUÁRIOS só podem visualizar exclusivamente registros que cada um deles cadastraram; exemplo: O “USUÁRIO A” NÃO PODE VISUALIZAR OU ALTERAR REGISTROS DO “USUÁRIO B” e vice-versa.

.O “ADMINISTRADOR” pode visualizar todos os registros de todos os USUÁRIOS tanto registros do “USUÁRIO A” E “USUÁRIO B”

Desde já agradeço aos nobres colegas!

Ai vai uma velinha de parabéns, espero que ilumine.

A forma mais simples é você criar um campo a mais em cada tabela (login) e definir através da cláusula where que o registro só poderá ser acessado por quem o criou ou pelo administrador.

Detalhe: existem trocentos posts tratando deste assunto.

Forte abraço

Como eu faria:

Login: Administrador, menu desvia para um controle, com um select com os usuários, Administrador seleciona usuário e ao clicar ok, grava variável global com id do usuário.

Login: Usuário, ao clicar no ok do login (entrar) grava variável local com id do usuário e menu não carrega controle com select.

Todas as demais aplicações devem filtrar o usuário conforme a variável global.

O SC possui um controle (nativo) bastante eficaz com relação às aplicações, mas com relação a registros você necessariamente tem que definir quem incluiu o registro, para tanto você precisa inclui em cada tabela (que desejar fazer o referido controle) um campo chamado ‘login’ (ou qualquer coisa que identifique um usuário) - não aconselho um campo do tipo numeral (ID), é mais apropriado que seja o login mesmo (varchar).

Nas aplicações do tipo FORM (Inclusão, Alteração, Consulta ou Exclusão do Registro), faça como mostrado abaixo e posicione o campo fora do formulário…

Feito isso, ao se logar você cria uma variável global com o login do usuário (independentemente dele ser administrador ou não) - dessa forma você poderá capturar quem está logado em cada aplicação do seu sistema. Exemplo [global_login] = {login}; - Na aplicação Login.

Em cada aplicação que você desejar fazer o seu controle você inclui a seguinte assertiva na cláusula where da sua query (inclusive nas aplicações tipo form) :

SELECT

FROM

WHERE
… AND
… AND
login = [global_login] OR login = ‘administrador’ // Colocar em todas as QUERIES do seu sistema.

Essa é uma das formas menos complicadas de se fazer. Existem muitas outras, como o nosso querido amigo Haroldo mencionou - é tudo uma questão de escolha e prática. Saiba porém que isso é o básico do básico. Exemplo: Existirão situações em que você pode desejar que um cliente tenha acesso a um ou outro registro, mas não tenha a outros, etc… aí a coisa terá ser mais bem estruturada.

Forte abraço.

pessoal muito obrigado…mais sou novato…entendi sim como funcionar o processo, mais não conseguir

quero uma explicação mais detalhada, veja bem quero diferencia o administrador dos usuários comuns , pela forma , que o administrador pode visualizar os registros dos usuários comuns, mais os usuários comuns não podem visualizar outros registros que não são deles.

Eu utilizo niveis de acesso para usuarios, na tabela usuario eu tenho um campo nivel, e que dependendo do nivel ao libero acesso para determinada funcao.
no login eu coloco esse nivel como publico e controlo os itens dos menus que serao exibidos
nas consultas eu coloco uma clausura where que verifica o nivel de acesso
nas cadastros eu crio uma funcao em php para verificar o nivel e dependendo eu exibo ou oculto campos do formulario.

Att Arquimedes

Demonstre por favor

Colega,

O que você diz com demonstrar?
É desenvolver o código para você?

As respostas não estão claras?

Foi dito para você criar um campo no cadastro de usuário informando se este é administrador ou não.
Já fez isso?

Exemplo na v6, agora é contigo.

http://www.4shared.com/rar/91H9nOvq/sistema_nivel_acesso.html?

Att Arquimedes

Amigão tem como disponibilizar para a versão 7, pois ele diz que não foi criado pela versão 7.