Para fazer login, e assim disparar o método login() do LoginModule JAAS em web basta submeter j_username e j_password a j_security_check. Até aqui tudo sob controle.
E para fazer logout ? Preciso executar o logout do loginModule para remover subject e principal associados ao contexto de autenticação.
Invalidar a sessão não é suficiente, por exemplo, no Websphere, onde temos que remover os tokens ltpa.
ou pra usar esse código preciso estar usando o JGuard?
essa variavel subject, vem de onde?
andrepestana
Esse código é parte do código fonte do jGuard.
Vc não tem um objeto javax.security.auth.Subject que representa o usuário do seu sistema?
Ele simplesmente “zera” os atributos do objeto do usuário, pois na próxima vez que o sistema for verificar o acesso do usuário no sistema ele será barrado. Eu acho que ele não anula a referência do Subject porque o usuário pode ter outros atributos que talvez sejam importantes ao sistema, mas no seu caso ele até pode anular a referência.
Como vc está trabalhando no seu sistema?
J
javando
nao to trabalhando em sistema nenhum, eu aprendi JAAS estudando pra SCWCD, mas ninguem ( nem mesmo o livro) explica a melhor forma de realizar o logout, eu to quebranco a cabeça nun negocio aki rsrs, daqui a pouco vou testar o que vc falou, mas, se der certo, será que é a melhor forma de se fazer?
vou mandar um email pra sun kkkk
tem na documentação o um tal de um metodo logout, mas ele faz parte de uma classe LoginContext e eu nao acho onde eu pego o loginContext da minha aplicação ahuahu
bem que podia ser simples como o getServletContext ter o getLoginContext kkk