Amigo, é bem simples.
Os níveis de acesso podem ser de qualquer tipo.
Normalmente utilizo valores enumerados tipo string ou inteiros.
O seu bean Usuario deverá conter o atributo nivelDeAcesso (ou qualquer nome que preferir).
Quando o usuário tentar acessar um formulário cujo nível de acesso esteja acima do nível de usuário, vc não permite a entrada.
Exemplo:
login doravan, nivelDeAcesso 1, senha bleh
classe de usuarios
public class Usuario {
private String login;
private String senha;
private Integer nivelDeAcesso;
public void setLogin(String login) {
this.login = login;
}
public String getLogin() {
return login;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getSenha() {
return senha;
}
public void setNivelDeAcesso(Integer nivelDeAcesso) {
this.nivelDeAcesso = nivelDeAcesso;
}
public Integer getNivelDeAcesso() {
return nivelDeAcesso;
}
}
Bean de usuarios
public class UsuarioBean {
private Usuario logado;
public void login(Usuario usuario){
this.logado = usuario;
}
public Usuario getUsuario(){
return logado;
}
}
E para o bean formulários
public class Formularios {
private final UsuarioBean usuarioLogado;
public Formularios (UsuarioBean usuario){
this.usuarioLogado = usuario;
}
public void abrirFormCadastro(){
//cheque o nível de acesso, ou se o usuário não está logado
if (usuarioLogado.getUsuario().getNivelDeAcesso() < 2 || usuarioLogado == null){
System.out.println("Acesso negado!");
//ao dar return, o código a seguir não será executado
return;
}
abrirFormulario();
}
public void abrirFormulario(){
//lógica do formulário
}
}
Entenda, eu fiz esse código às pressas para te responder, então está bem simples.
Procure estudar sobre controles de sessão e login de usuários em sistemas Web e Desktop, e aprofunde as lógicas que colei aqui.