Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dwnet

Controle de Acesso a Módulos

Recommended Posts

Olá pessoas!

 

 

Estou com um pequeno problema aqui.

 

Estou desenvolvendo um sistema, no qual ele possui seus respectivos modulos, onde apenas usuarios x e y podem acessar.

 

Preciso dar essas permissões na hora de fazer o cadastro do usuário.

 

imaginei da seguinte maneira:

 

uma tabela com os usuarios

 

uma tabela com os modulos

 

e outra unindo os modulos e os usuarios

 

se o usuario nao tiver na tabela com os modulos e usuarios ele nao possui acesso.

 

até ai tudo tranquillo.

 

mas como eu implemento isso no cadastro de usuario?

 

alguem ai tem alguma dica de como eu faço isso?

 

ou outra sugestao de como implementar esse negocio?

 

 

grato.

 

 

Edvaldo Rodrigues

Compartilhar este post


Link para o post
Compartilhar em outros sites

não não, no cadastro do usuario mesmo.

 

quem faz isso é o admin do sistema

 

ele colocaria os dados do usuario

 

por exemplo o the cod so tem acesso ao cadastro de clientes

 

na hora de cadastrar o the cod o admin checaria cadastro de usuarios em um check box;

 

meu problema e este.

 

como eu faço pra criar em um form, com dados vindos de um select na tabela modulos linhas com um combox para ser marcado, alem de verificar na tabela de permissoes se esta está autorizado e marcar o referido combox entende?

 

por exemplo:

 

|x| - cadastro de clientes

 

| | - cadastro de usuarios

 

| | - relatorio de fornecedores

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria pra escolher se ele teria ou nao acesso ao modulo.

 

por exemplo:

 

se estiver checado ele tem acesso ao modulo. caso contrario nao...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saquei, então tu faz o select pegando o nome e o ID do usuário, e na hora dos checkbox tu faz pra marcar se tem acesso ou não né isso ? posta a estrutura de tua tabela ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

table usuarios:

 

codigousuario int pk auto

nomeusuario

email

login

senha

 

table modulo:

 

codigomodulo int pk auto

nome

descricao

 

table acesso:

codigousuario

codigomodulo

 

 

entao. se na hora que o usuario querer entrar no modulo ele checa se o codigo do usuario está ligado ao modulo ele deixa entrar caso contrario ele boqueia

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, prefiro que trabalhe com apenas um tabela, dava pra incluir isso tudo, mais faz seguinte:

 

vamos por partes, faz o form e vê se é mais ou menos asim:

<?php
$buscar=mysql_query("SELECT codigousuario,codigoacesso FROM acesso");
?>
<form name="acesso" method="POST">
<select name="permissao">
<?php
while($ver=mysql_fetch_array($buscar)){
echo "<option value='$ver[0]'>$ver[1]</option>";
}
?>
</select>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

quase lá

 

nisso as permissoes estao dentro de um combo box

na verdade ela tinha de estar no check box....

 

 

mas é por ai....

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim

a proxima parte seria salvar os dados

 

ai que pesa o problema, tendo em vista que cada check box é uma "variavel diferente"

Compartilhar este post


Link para o post
Compartilhar em outros sites

dwnet, você deveria trabalhar com grupos de usuário, pois provavelmente você terá vários usuários com as mesmas permissões, se você separar por grupo você pode colocar os grupos em um combobox facilitando o trabalho do administrador na hora de criar um usuário.

 

e também se você for adicionar algum módulo depois, é só você adicionar esse módulo no grupo que vai adicionar em todos os usuários pertencentes aquele grupo, se não estiver organizado por grupos, você terá que adicionar o módulo novo em todos os usuários manualmente!

 

 

espero ter ajudado, qualquer dúvida pode perguntar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ocorre o seguinte:

 

<input name="checkboxX" type="checkbox" /><label>checkbox</label>

 

isso ai é um check box normal certo?

 

no meu caso:

<?php
$buscar=mysql_query("SELECT * FROM modulos");


while($ver=mysql_fetch_array($buscar)){

echo "<input name='acesso$ver[0]' type='checkbox' value='$ver[0]'><label>$ver[1] --- $ver[2]</label>";
}


?>

muito bem, ele vai gerar n checkboxes com n nomes diferentes;

 

como vou fazer isso no sql de insersão? apos confirmar os dados?

 

Marsiggia;

muito obrigado pela dica, mas nao funcionaria lá; por que tem usuario que trabalha em um mesmo cargo e em um mesmo setor, mais porem um nao pode e o outro pode; nao sei de você me entende...

 

mais ta surgindo uma ideia aki, vale aprofundar...

 

tenki - ul

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você atribuir um número(1 - n) para cada checkbox, você não pode depois fazer um for de 1 até n, e pegar o valor de cada checkbox e montar a query para cada checkbox?

 

seguindo a linha de pensamendo do THE COD, você pode usar um combobox que permita selecionar mais de 1 item!

 

assim você terá uma lista dos módulos e poderá selecionar os que você quiser.

 

 

 

concordo com o THE COD, trabalhe com combobox e não com checkbox!

 

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

sem falar que é como eu falei antes, usando checkbox, se ele quiser adicionar um módulo mais pra frente, e tiver 1000 usuários cadastrados, ele terá que atribuir manualmente o novo módulo aos 1000 usuários!

 

trabalho que pode ser contornado usando combobox + grupo de usuário.

 

quando digo grupos de usuário quero dizer tipos de acesso.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum...

verdade marsiggia e "conterraneo" the cod!

 

seria mais interessante mesmo atribuir a grupos e atribuir os grupos ao usuario. estava querendo fazer esse procedimento de "autenticação" manual, modulo a modulo, usuario a usuario. e se o "cliente" estiver com mais de mil usuarios?

e o codigo vai ficar bem mais facil....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.