| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/11/2007 09:15:06
|
bonfarj
Java Ninja
![[Avatar]](/images/avatar/1454ca2270599546dfcd2a3700e4d2f1.jpg)
Membro desde: 28/03/2006 09:55:47
Mensagens: 298
Offline
|
O sistema que estou desenvolvendo (Struts 1.2.x e Hibernate 3.2) possui uma classe Usuario, que por sua vez está ligada a uma classe GrupoUsuarios, onde estão as permissões de acesso. Os desenvolvedores acessam o sistema com uma conta "administrador", um usuário que está dentro de um grupo com todas as permissões.
O problema é que isso não será mais suficiente, teremos algumas telas do sistema que um usuário não poderá ter permissão. Nossa equipe pensou em resolver o problema com a criação de uma nova classe, Administrador. Após pensar em inúmeras questões que devem ser consideradas, pensamos em três formas de fazer isso:
Solução 1
Usuario (classe concreta no Java e abstrata no Hibernate)
UsuarioComum estende Usuario
UsuarioAdministrador estende Usuario
Solução 2
Usuario (classe abstrata)
UsuarioComum estende Usuario
UsuarioAdministrador estende Usuario
Solução 3
Usuario (classe concreta)
Administrador estende Usuario
Imagino que essa seja uma situação comum e muitos dos usuários do GUJ já tenham vivenciado isso. Alguém poderia dar uma luz?
Abraços a todos!
|
IGOR BRITO ALVES
@igoralves
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/11/2007 12:40:13
|
AvilaCS
Thread.start()
![[Avatar]](/images/avatar/6b79fc67a437b9cc901233dd856aa061.jpg)
Membro desde: 03/02/2007 18:28:12
Mensagens: 43
Localização: São Paulo
Offline
|
O sistema que estou desenvolvendo (Struts 1.2.x e Hibernate 3.2) possui uma classe Usuario, que por sua vez está ligada a uma classe GrupoUsuarios, onde estão as permissões de acesso. Os desenvolvedores acessam o sistema com uma conta "administrador", um usuário que está dentro de um grupo com todas as permissões.
Se entendi bem, você precisa de outro conjunto de direitos (permissões de acesso) e não alterar ou criar novos tipos de usuários e consequentemente alterar a sua estrutura de classes.
E se amanhã aparecer um usuário que tem um perfil de acesso diferente, você criará uma classe para representá-lo?
Pense nisto.
|
____________________________________
Jossemar Ávila de Morais
jossemar.avila@siriussoftware.com.br
Sírius Software
Visite: www.siriussoftware.com.br
Insista, persista e nunca desista pois um dia você conquista. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2007 13:39:24
|
bonfarj
Java Ninja
![[Avatar]](/images/avatar/1454ca2270599546dfcd2a3700e4d2f1.jpg)
Membro desde: 28/03/2006 09:55:47
Mensagens: 298
Offline
|
AvilaCS wrote:
O sistema que estou desenvolvendo (Struts 1.2.x e Hibernate 3.2) possui uma classe Usuario, que por sua vez está ligada a uma classe GrupoUsuarios, onde estão as permissões de acesso. Os desenvolvedores acessam o sistema com uma conta "administrador", um usuário que está dentro de um grupo com todas as permissões.
Se entendi bem, você precisa de outro conjunto de direitos (permissões de acesso) e não alterar ou criar novos tipos de usuários e consequentemente alterar a sua estrutura de classes.
E se amanhã aparecer um usuário que tem um perfil de acesso diferente, você criará uma classe para representá-lo?
Pense nisto.
Oi, AvilaCS!
Como eu falei, já temos uma estrutura de permissões de acesso, cada grupo tem um conjunto de permissões. A questão é que sentimos necessidade de ter um usuário a parte (administrador), com algumas peculiaridades. Por exemplo, no nosso sistema, podemos configurar um grupo de usuários de forma que seus membros possam modificar as permissões de outros grupos (administrador/cliente). No entanto, é necessário que exista um usuário que fique acima disso, que tenha permissão pra tudo e não possa ser alterado (administrador/minha empresa).
Acabamos optando pelo que chamei de "solução 2", ela tinha alguns problemas que conseguimos resolver bem depois de muito discutir sobre o modelo. De qualquer forma eu agradeço ao pessoal que leu e ao AvilaCS que postou, fica o tópico aqui para alguém que possa precisar de ajuda com questões relacionadas a isso mais a frente.
Abraços a todos!
|
IGOR BRITO ALVES
@igoralves
|
|
|
 |
|
|
|
|