Ir para conteúdo
Fórum Script Brasil
  • 0

Permissões


hlegius

Pergunta

Pessoal,

To com uma duvidazinha...

Estou com a intenção de montar um sistema tipo um fórum e tal, daí comecei a desenhar num papel a estrutura de algumas páginas do sistema, Principal, Tópicos, Painel de controle de user visualizando a mensagem etc.etc...

Com isso pronto dava para começar a montar a estrutura do banco de dados (Tabelas campos etc..) só que numa parte estou com uma dúvida meio cruel:

Os usuários poderão ser de grupos (User, Admin, Mod etc...) então criei uma tabela chamada GRP (Grupo)

----grp---

id

nome

----------

E para saber de qual grupo o user é, coloquei o campo id_grp na tabela de usuários, pórem:

Se o cara for Mod de sei lá... PHP, o admin do fórum coloca que ele poderá: adicionar/destacar/remover/editar todos os tópicos da sessão, mas no resto do sistema ele seria como se fosse user normal...

O problema é que como eu faria para o sistema só aparecer os comandos de acordo com a permissão? Pois um mod pode fazer 50 coisas (por exemplo) mas se o admin habilitar somente 30, e as outras 20 não, como fazer para não exibi-las a ele?

Com if? iria ficar meio... "inviavel", pois imagina quantos if's não seriam necessários...

Sem falar que na tabela do grp teria que haver:

----grp----

id

nome

editar (S ou N) // sim ou não

remover(S ou N)

destacar (S ou N)

...

-------------------

Ou estou errado?

Espero que tenham compreendido e possam me dar uma luz...

até... smile.gif

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cara, acho que a forma mais simples de fazer isso seria assim: associar a cada permissão do seu fórum um caractere. Por exemplo, "editar posts": permissão "a".

Aí, você cria sua permissão como sendo uma string assim, por exemplo: "acep"... o cara vai ter as permissões "a" (de editar o post, no nosso exemplo), "c", "e", e "p".

Sacou? Aí você pode mesclar as permissões da forma que achar necessário... e na hora de exibir algum recurso na página, você verifica se o caractere correspondente a aquele recurso existe na string de permissão do usuário.

Dessa forma, você pode criar muitas opções com todas as letras do alfabeto, ainda mais porque você pode utilizar uma função que diferencia maiúsculas de minúsculas, mas os caracteres numéricos.

Não sei se existe alguma forma mais fácil, mas essa é a que eu conheço e utilizo...

Até mais!

Link para o comentário
Compartilhar em outros sites

  • 0

Eu faço permissoes por numeros exemplo

0 ,1,2,3,4,5 quanto maior o numero maior o nivel de acesso do usuario e eu crio uma tabela com as descrições de cada numero

e para ter mais segurança o membro alem do numero da permissao dele no select ve se ele tem o atributo ao tipo de cargo exemplo membro,admin, mod etc...

mas não fico fixo nessa ideia eu faço dependendo do sistema cada sistema eu penso de um jeito ,mas vai postando ai suas ideias e duvidas

Link para o comentário
Compartilhar em outros sites

  • 0

é então, no meu caso a por numeros não iria funcionar corretamente, pois um Moderador pode editar e não remover enquanto outro poderá editar e remover, então o numero sei lá, funcionaria sim, mas ficaria um pouco mais complicado de se montar para obter o desejado...com a letra de referencia ficaria mais facil...

mas também poderia usar a idéia do Illidan só que ao invés de letras, fazer como o seu fabyo, números...

mas de qualquer modo....muito obrigado...

é isso é verdade, varia de situação para situação...

até... smile.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,4k
    • Posts
      652,2k
×
×
  • Criar Novo...