¿Cómo guardar un usuario autenticado en JASPIC?

Desarrollé un Módulo de autenticación de seguridad (SAM) e implementé elvalidateRequest método. También tengo una aplicación web simple configurada para usar este SAM.

En mivalidateRequest método, verifico el clientSubject y establezco unCallerPrincipalCallback con un nombre de usuario codificado y unGroupPrincipalCallback con un nombre de grupo codificado:

final CallerPrincipalCallback callerPrincipalCallback = new CallerPrincipalCallback(clientSubject, "anonymous");
final GroupPrincipalCallback groupPrincipalCallback = new GroupPrincipalCallback(clientSubject, new String[] {"user"});

try {
  this.handler.handle(new Callback[] {callerPrincipalCallback, groupPrincipalCallback});
} catch (IOException | UnsupportedCallbackException e) {
  logger.error(e.getMessage());
}

Noté que cada vez que actualizo un servlet en mi aplicación web, el asunto del cliente simplemente está en blanco,logger.debug("Client: {}", clientSubject);:

2015-05-05 11:21:02,200 DEBUG n.m.j.s.Saml2AuthModule [http-listener-1(2)] Client: Subject:

¿Es posible "guardar" un tema de alguna manera para que el tema se adjunte a la sesión y simplemente pueda omitir el inicio de sesión en el mismo usuario cada vez?

EDITAR Creo que encontré un camino almacenándolo manualmente en elHttpSession: req.getSession().setAttribute("subject", user); No es bonita, pero funciona.

Respuestas a la pregunta(1)

Su respuesta a la pregunta