Capturar Id de Objeto após Login

1 resposta
fredye

Boa tarde galera.

Meu cenário e o seguinte tenho um ADMINISTRADOR, ATENDENTE e ALUNO.

Gostaria de capturar o ID do objeto ALUNO, após o login do mesmo para consultas posteriores.

Por exemplo o ALUNO tem um módulo chamado meuHistorico.xhtml assim que clicasse nessa tela NÃO haveria

a necessidade de digitar seu nome e clicar em um botão para trazer seu histórico.

A pesquisa seria realizada graças ao ID carregado pós-login na sessão.

Utilizo:

Jsf 1.2; Jboss Seam 2.1; EJB´s 3.0.

Att,

Fred

1 Resposta

fredye

Já utilizo inclusive o Escopo de sessão do Jboss Seam.

Existe alguma forma de capturar esse objeto após o Login para uso posterior ?

Ou o Escopo de sessão faz essa captura de forma implicíta ?

@Stateful
@Name("authenticator")
@Scope(ScopeType.SESSION)
public class AuthenticatorBean implements Authenticator {
	
	@Logger
	private Log log;

	@In(create = true)
	Identity identity;

	@In(required = false)
	Credentials credentials;

	@PersistenceContext
	EntityManager em;

	public boolean authenticate() {
		
		
		Query query = em.createQuery(
				"SELECT usuario FROM Usuario usuario WHERE usuario.nome = :nome "
					    + "AND usuario.senha = :senha")
						.setParameter("nome",credentials.getUsername()).
						setParameter("senha",CalcularHashBean.md5((credentials.getPassword())));
						Usuario usuario = (Usuario)query.getSingleResult();

		
						if (!(usuario.getNome() == null) && (!(usuario.getSenha() == null))) {

							identity.addRole(usuario.getPerfil());

							return true;

						}
			
		return false;

	}

	@Remove
	@Destroy
	public void destroy() {

	}
}

Att,

Fred

Criado 15 de outubro de 2012
Ultima resposta 15 de out. de 2012
Respostas 1
Participantes 1