Há alguns meses fiz o treinamento FJ-11 da Caelum e agora estou me planejando para fazer o FJ-21 (Dezembro agora ou em Janeiro no máximo). Mesmo sem ter feito o FJ-21, estou iniciando o meu primeiro projeto Java web até para gerar dúvidas para eu aproveitar melhor o próximo treinamento.
Tenho bastante experiência com SQL e desenvolvimento procedural, mas nenhuma experiência em Java.
Inicialmente, estou trabalhando na funcionalidade de logar no sistema, para tal, pensei da seguinte forma:
Classes
:arrow: classe Pessoa, com os atributos da pessoa (CPF/CNPJ, nome/razão social, etc.)
:arrow: classe PessoaUsuario extends a classe Pessoa, portanto, com os atributos da classe Pessoa, mais um método que será responsável pela autenticação do usuário e senha.
Pensei desta forma pois toda PessoaUsuario é uma Pessoa e nem toda Pessoa é uma PessoaUsuario.
Banco de Dados
:arrow: uma tabela PESSOA
Ainda não sei se o que identificará uma pessoa ser ou não um usuário será uma flag (S/N) numa coluna da tabela pessoa ou se farei uma tabela PESSOA_USUARIO
O que acharam até aqui quanto ao planejado !?!?
Seguindo, surgiu mais dúvida:
Existirão usuários internos (eu e pessoas da minha empresa que farão a administração do sistema) e usuários externos (pessoas funcionários de meus clientes que usarão o sistema).
A administração do sistema não terá nenhuma relação direta com o sistema, ou seja, terá o papel de cadastrar os meus clientes que farão uso do sistema que vou desenvolver, configurações de banco de dados, entre outros.
A dúvida é a seguinte: vou utilizar a mesma tela de login para todas as pessoas, porém, como seria melhor fazer essa separação entre administrador do sistema e usuários do dia-a-dia?
Teria que ter uma página HTML com as funcionalidades de administrador do sistema e outra página HTML para os demais usuários? E nesse caso teria que colocar um IF para redirecionar a página.
Teria alguma forma mais elegante de se fazer essa divisão de papéis no sistema?
Desculpa pela extensão do post, mas não ví outra maneira de explicar a situação em que estou de dúvida e de planejamento.
Agradeço desde já a participação.
Renato Cerullo