[OT] - Grupos de acesso

4 respostas
thiagorani

Pessoal esse assunto é mais sobre estrutura do que proprieamente java.

Tenha a seguinte situação:

Tenho um conjunto de dados e estes dados serão disponibilizados para o usuário de acordo com o perfil do mesmo. Até ae tranquilo.
O problema é, dentro de um tela haverá abas, dentro do perfil do usuário tenho que setar quais abas esse usuário terá acesso e quais campos destas abas serão mostrados.
Alguem tem alguma sugestão ou já fez algo parecido?
Em termos de Banco, como ficaria a estruturas das tabelas?

[]´s

4 Respostas

Rafael_Steil

Voce poderia explicar melhor o que esta querendo fazer? ficou um tantto confuso de entender da maneira que voce colocou…

Rafael

thiagorani

Vamos la Rafael.

Existe um tela, qdo eu cadastro o usuário eu decido se ele vai ter acesso ou nao a esse tela. Essa tela possui internamente algumas guias ou abas, no cadastro eu vou especificar, se o usuário tiver acesso a tela, quais abas serão carregadas, e nestas abas quais dados serão mostrados.
Fazer isso na programação é simples, to com dificuldade de gerar a estrutura do banco que dará suporte a isso.
Preciso de um esquema de hierarquia, como se a tela voce o pai, cada aba filhos da tela, e os campos filhos das abas.
Ficou mais claro?
Espero que sim.

[]´s

Rafael_Steil

Cara, eu uso uma estrutura que ate hoje se adaptou a todos os tipos de necessidades em relacao a controle de acesso ao sistema. O esquema no geral, com toda a estrutura e funcionamento nao eh exatamente simples de entender, mas basicamente a ideia geral eh assim:

Crie uma tabela chamada “permissoes” ( o nome, logicamente, pode ser qualquer um ). Nessa tabela, coloque os camos “id_permissao”, “id_usuario” e “id_grupo”.
“id_permissao” tem que ser um campo texto ( varchar ), ja os demais pode ser numerico. Note que, se voce nao tiver controle por grupos, “id_grupo” nao eh necessario.

O lance agora eh simples: para cada local no sistema que voce desejar controlar o acesso, crie um id unico de permissao para tal local, e entao com base neste valor vc controla o acesso e seta as permissoes. Por exemplo, digamos que na tela de cadastro de clientes existam 3 abas: “Inserir”, “Visualisar”, “Relatorios”, e voce deseja restringir o acesso em cada uma dessas abas. Com base nisso, um exemplo de id para as permissoes poderia ser:

Tela de usuarios: tela_usuarios
Inserir: tela_usuarios_inserir
Visualisar: tela_usuarios_visualisar
Relatorios: tela_usuarios_relatorios

Veja, sao apenas nomes, e eh importante que eles seja unicos no sistema.

Por fim, voce faz a tela de controle se permissoes, onde todas as permissoes sao listadas. Entao, para o usuario em questao, voce seleciona quais permissoes ele pode ver e grava no banco.
Na hora em montar as telas/abas, basta voce verificar no banco quais dados ele tem acesso, com base no nome da permissao!

Eh isso, espero que lhe ajude.

Rafael

thiagorani

Rafael

Entendi o esquema, com certeza essa tabela permissao terá um trilhao de dados, certo? Cada cadastro irá gerar um numero consideravel de registros!Mas acho que isso que vou precisar.
Meu sistema já tem um esquema de grupo, por tela e funcionalidades.
Vou dar mais uma analisada aqui ver como eu posso aplicar isso que voce passou sem afetar a aplicação.

Valeu pela ajuda, qualquer coisa posto aqui.

[]´s

Criado 25 de março de 2003
Ultima resposta 25 de mar. de 2003
Respostas 4
Participantes 2