Classes diferentes para logins diferentes

Olá! Tenho um programa simples que usa Java e banco de dados em Mysql, que gerencia o sistema de uma festa, tendo clientes, produtos, fornecedores (todos salvos no banco) e realiza vendas de produtos para os clientes.

Para iniciar o programa, tenho uma janela de login, onde existem dois usuários: o funcionário, e o administrador. Os logins e as senhas estão salvos no banco, e o programa faz a verificação para saber se a senha corresponde ao usuário para então entrar no programa.
O problema é que não quero que ambos usuários possam ter acesso a todas as funções do programa.

O administrador poderá fazer todas as funções (no caso adicionar/editar/excluir/consultar - clientes, fornecedores e produtos), mas o funcionário deverá apenas consultar esses dados e realizar a venda.

Desejo saber como “separar” essas funções entre os dois usuários (para que quando o login seja feito como funcionário as funções sejam restritas a consulta)

Agradeço desde já!

olha, qdo vc fizer o login, vc vai preencher seu objeto usuario com tipo de perfil dele, e qdo vc for montar as telas, vc vai ter que verificar qual o perfil do usuario, para mostrar ou nao os componentes.

t+

Olá ingrid.magroski.

A solução proposta pelo alissonvla é ideal para resolver o seu problema. Não há necessidade de classes diferentes, pois conceitualmente os dois são usuários do sistema. Esse tipo de modelagem fugiria da orientação a objetos. O que você tem na verdade são dois usuários com níveis de permissões distintos. Um exemplo de código bem grotesco seria:

	if(usuario.getPerfil().equals("administrador")) {
		...monte a tela com o perfil de administrador
	} else {
		...monte a tela com o perfil de usuario
	}

Qualquer dúvida, não hesite em postar!!!

meu problema é parecido com o seu, usarei o Spring q me parece a solução mais prática e dps teremos o spring security…

Consegui, obrigada pelas ajudas! :smiley:

marque o post como resolvido.

t+