alexreis 0 Denunciar post Postado Fevereiro 13, 2008 Olá Pessoal, Bom dia Preciso trocar uma ideia com você's, tenho um sistema em php e preciso fazer um controle de acesso, restringir acesso a determinados usuarios, exemplo... usuário: alexreis (aqui ele vai listar todas as páginas.php que existem) index.php principal.php frmUsuarioCadastro.php frmUsuarioLista.php frmEmpresaCadastro.php frmEmpresaLista.php essa são alguns exemplo de paginas.php que poderam existir, na frente da cada uma terá 02 check box (acesso [] acesso libverado [] acesso restrito ) sendo assim quando eu cadastrar o usuario eu digo a qual pagina.pho ele tem acesso. bom se alguem tiver algum ideia que possamos discutir abraços alex reis Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Fevereiro 13, 2008 Bom, este é um sistema simples de se fazer... Aconselho que você busque aqui pelo fórum mesmo vai encontrar essa questão de "Niveis de usuário..." Busque por "Login com níveis de usuário" e encontrará... Basicamente na tabela em que estão os usuários, deverá constar um campo denominado acesso... Ai você vai brincando com ele... e faça um formulario para bloquear ou permitir esse acesso, ou seja, para mudar o campo acesso da tabela para "sim" ou para "não"... Ai nas páginas, uma ideia bem simples seria checar o acesso da sessão conectada (uma consulta no MySQL para capturar o campo acesso) e fazer uma simples condição if($acesso != "sim"){die;} Algo nesse estilo, claro se você usa um sistema de áreas e páginas proprios fica simples implementar ao invés de adicionar página por página... Bom a ideia básica é essa... você encontra por ai facilmente. Obs: caso queira algo mais elaborado, como reter o acesso a algo mas não a outro, você pode criar ao invés de "sim" ou "não", nomes mesmo... "técnico", "administrador"... e por ai vai, seguindo a mesma base. Ai você cria um switch em PHP denominando niveis para facilitar... switch($acesso) { case "administrador": $nivel = 3; break; case "técnico": $nivel = 2; break; case "usuario": $nivel = 1; break; default: $nivel = 0; break; }Ai você faz a condição por niveis... Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Fevereiro 13, 2008 Com certeza a galera aki do forum tem formas mais lógicas para fazer isto. Mais uma forma simples seria fazer assim: function verifica_permissao($id_usuario, $form){ $sql = 'SELECT PERMISSAO -- valor booleano no Banco de Dados... FROM PERMISSOES WHERE ID_USUARIO = ' . $id_usuario . ' AND FORMULARIO = \'' . $form . '\''; $rs = mssql_query($sql); $row = mssql_fetch_array($rs); return $row['PERMISSAO']; } //no inicio de todos os formularios ... if (!verifica_permissao(1, 'frmUsuarioCadastro.php')){ echo 'Você não tem permissão para acessar este formulário.'; exit; } Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Fevereiro 13, 2008 Tentei explicar de forma simples e compreensivel, creio que um usuário que vem a forum perguntar sobre niveis de acesso, é alguem que está iniciando ou tem apenas conhecimentos básicos e busca por respostas simples e objetivas, não por funções CTRL C + CTRL V. Não foi atoa que disse para ele pesquisar em fórum, mesmo porque ele irá se deparar com diversas formas de resolução, de simples a avançadas. Desculpe a sinceridade, não é para contrariar a moderação, mas sim expor meu modo de ver e ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
alexreis 0 Denunciar post Postado Fevereiro 13, 2008 Skyo Muito obrigado pela atenção Assim que consegui eu posto aqiu no forum. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Fevereiro 13, 2008 Tentei explicar de forma simples e compreensivel, creio que um usuário que vem a forum perguntar sobre niveis de acesso, é alguem que está iniciando ou tem apenas conhecimentos básicos e busca por respostas simples e objetivas, não por funções CTRL C + CTRL V. Não foi atoa que disse para ele pesquisar em fórum, mesmo porque ele irá se deparar com diversas formas de resolução, de simples a avançadas. Desculpe a sinceridade, não é para contrariar a moderação, mas sim expor meu modo de ver e ajudar. Caro amigo, peço encarecidamente que leia atentamente esta linha do meu post: Com certeza a galera aki do forum tem formas mais lógicas para fazer isto. Mais uma forma simples seria fazer assim: {...} Começamos a responder este tópico junto, nem ao menos tinha visto q você tinha acabado de postar antes do que eu.... cada um ajudou com as ferramentas e idéias que tinha em mãos, creio q o interessante mesmo é fazer com que o nosso amigo entenda e esclareça suas dúvidas. Se em nenhum post, tivesse trechos e exemplos de codigos, axo que isto não seria um fórum ... Compartilhar este post Link para o post Compartilhar em outros sites
alexreis 0 Denunciar post Postado Fevereiro 13, 2008 Rodrigo você tb ajudou, obrigado mesmo, realmente não tenho muita prática em programação. o forum sempre ajuda muito abraços Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Fevereiro 13, 2008 Caro amigo, peço encarecidamente que leia atentamente esta linha do meu post:Caro amigo, peço, encarecidamente, que reveje a frase por você mesmo citada e constate uma certa contradição.Ao mesmo tempo que você diz que a galera tem formas mais lógicas, você diz que a sua é simples (o que pode ser, mas não para novatos, assustando-os). Digo e repito, para quem inicia, uma função demonstra uma ideia vaga sobre o assunto, busque dar exemplos mais intuitivos. É apenas uma sugestão, contudo, poderás ignora-la e continuar como bem entender. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Fevereiro 13, 2008 Com certeza amigo, todo mundo sabe que aqui no fórum tem o método de pesquisa, mas em todo lugar que for procurar ajuda, lhe garanto que um bom e velho exemplo de codigo ajuda muito sim. até porque procurei montar uma função muito simples, que qualquer um entende ... Se algum moderador quiser fechar este tópico, pra evitar que essa discussão se prolonge, já que a duvida do colega foi resolvida mesmo ... Compartilhar este post Link para o post Compartilhar em outros sites