Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, pessoal.
Quero desenvolver um sistema onde existem diversos tipos de usuários e cada um terá um nível de acesso diferente.
Segue um UML tosco (descupe, mas não sou bom nisso) do que penso ser a estrutura do problema.
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.virtualcriativa.com.br/clientes/musicam.jpg&key=f873e94dd46374026b9d6f0e4432fdd4588995c351b51a09038e964d95e8c616" alt="musicam.jpg" />
Tenho uma classe Usuarios que vai receber qualquer classe que implemente a interface IUsers. Ela é responsável pelo gerenciamento dos usuários do sistema. Cada usuário terá seus métodos específicos, dessa forma posso dizer que um Professor tem novaAula(), método que o Gerente não possui.
Pensei em colocar em cada classe uma constante com o valor da permissão. Na aplicação, eu faço a checagem em cada página para ver se o usuário tem permissão para acessar aquela página.
Minha dúvida é se essa implementação está correta ou se existe algo mais consolidado em termos de programação para lidar com permissões.
Obrigado e abraços.
isso não acho que seja para ser gerenciado nas classes e sim na estrutura do seu código mais especifico na sua página index.html ou clientes.html.
A classe Cliente terá todas as funções dos clientes independente da permissão do usuário, ai o que pode ser feito é na hora de logar você cria um switch para verificar permissões e inclui o bloco html referente a permissão.
Exemplo:
a questão é não importa o que tenha a classe você pode chamar o que você quiser e quando você quiser ai cada bloco terá suas respectivas funções a serem executadas a qual você vai chamar.