Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Já fiz muitos programas profissionais para empresas, e nestes é necessário sempre haver acesso reservado somente a operadores cadastrados, os quais devem ser separados por categoria, cada uma com determinadas permissões e negações à partes do sistema.
Em cada sistema utilizei um método diferente, dos mais simples até os mais complexos, com permissões nas tabelas de categoria e na própria tabela de operadores, para que os administradores possam dar acessos diferenciados a um operador, mesmo que sua categoria não permita.
Mas quando há um novo módulo, tem que mudar essas tabelas e o código. Então quero usar outro esquema.
Gostaria de ajuda de quem tiver experiência no caso, pois vou fazer um sistema modular que será usado por vários tipos de pessoas e empresas e por isso é necessário fazer permissões configuráveis independente do código, e sem vocação para um tipo de segmento de mercado.
Quais as melhores opções?
É interessante também o conceito de perfil, grupo de usuários com as mesmas permissões.
tenho essa dúvida também
acho interessante este modelo de usuário e grupos, mas não sei como modelar.
alguém me disse que o grupo seria um usuário especial, e que relacionaria a tabela com ela mesma.
você teria sugestões?
grosso modo :
usuario>-----perfil----<permissoes
O usuário no máximo teria, numa exceção, um perfil especial só para ele.
nesse caso, como funcionaria sistemas como o facebook???
no caso, posso dar acesso as minhas postagens a contatos (usuários) ou listas de contatos (grupos de usuários).
como representar isso no banco?
no exemplo que te passei até seria possível, mas não sei como fazer o relacionamento.
no que vc passou não sei como fazer.
segue uma foto do que estou fazendo
/applications/core/interface/imageproxy/imageproxy.php?img=http://oi42.tinypic.com/bi5hyg.jpg&key=1de8419ddee3ca72e9ece9abdff5dee69e8a279990f98f0c8e1450bdf68722d7" alt="bi5hyg.jpg" />
obrigado
Faltou id do funcionário na tabela de usuário.
Estou fazendo assim:
Operador <--> Permissões <--> Módulos
create table permissao
(
id bigint not null primary key auto_increment ,
ut varchar(20) not null ,
modulo varchar(20) null , -- o módulo que o operador poderá ou não ter acesso (exemplo: uma janela de cadastro)
oper_lic varchar(20) not null , -- o código do dono da licença ao qual o operador é um funcionário ou o próprio licenciado
tipo enum('NENHUMA', 'CONSULTAR', 'CRIAR', 'REVISAR', 'ADMINISTRAR') -- as permissões possíveis
)
engine = innodb;
na verdade não.
o usuário é um funcionário, que é uma pessoa, entendeu?
o caso é que quero dar permissões a grupos e a usuários. Dou acesso a determinada coisa a um usuário, ou a um grupo de usuários. Então todo usuário que fizer parte do grupo tem acesso, ou o usuário que não faz parte do grupo mas tem a permissão também tem acesso. O usuário pode pertencer a vários grupos e um grupo pode conter vários usuários.
Então crie um sistema como o meu, com permissões individuais, só que para grupos ou usuários.
Uma das coisas que estava pensando em fazer é uma tabela de configuração contendo as possíveis configurações de cada módulo ou aplicativo, e depois uma tabela de permissões que apontassem para uma dessas configurações ou para um módulo, sinalizando que um operador pode consultar, criar novo registro ou alterar registros existentes de determinado módulo ou visualizar ou alterar uma determinada configuração.
Existe um padrão na industria ou algo que chegue perto disso?