Senhores,
vejam a situação, criei um módulo Jaas que:
@Override
public boolean login() throws LoginException {
succeeded = false;
getUsernamePassword();
Usuario usuario = UsuarioFabrica.getUsuarioByLogin(this.loginInformado, this.senhaInformado);
if (usuario != null) {
transacoes.addAll(usuario.getTransacoes());
succeeded = true;
this.user = usuario;
sharedState.put("javax.security.auth.principal", user);
sharedState.put("javax.security.auth.roles", transacoes);
// ...
Depois de logado na página principal eu tenho:
<%
if( request.getUserPrincipal() != null &&
request.getUserPrincipal() instanceof br.ufpr.tads.saga.seguranca.Usuario) {
br.ufpr.tads.saga.seguranca.Usuario usu = (br.ufpr.tads.saga.seguranca.Usuario)request.getUserPrincipal();
out.println(usu.getNome());
} else {
out.println("usuário não identificado.");
out.println(request.getUserPrincipal());
}
O problema ocorre nesse if… ele não entra no primeiro bloco… e vejam a saída no segundo bloco:
[quote]usuário não identificado. br.ufpr.tads.saga.seguranca.Usuario@57d7e64f
[/quote]
Ele não passa no teste obj instanceof classe e não ptermite fazer o cast, mas o toString retorna a informação correta?
Alguém tem alguma dica?
vw