Jaas LoginModule Login () e Commit () bem -sucedido, mas o usuário não está conectado
-
25-09-2019 - |
Pergunta
Implementei um LoginModule para executar alguma autenticação personalizada e chamar a autenticação usando o método Login () da classe LogIncOntext. Os métodos de login () e commit () do módulo de login são chamados com sucesso, mas em vez de poder usar o aplicativo da web, estou sendo enviado de volta à página de login imediatamente. request.getUserPrincipal () é nulo, bem como request.getRemoteUser ().
Quaisquer idéias seriam muito apreciadas. Obrigado!
INFORMAÇÃO ADICIONAL
Além disso, logo depois que eu ligo loginContext.login()
no front -end, chamando loginContext.getSubject().getPrincipals()
Me dá a lista adequada de diretores e funções para o usuário que acabou de fazer login.
Estou usando o TomCat 6.0.29 como meu servidor.
Solução 2
Eu estava tentando fazer login programático no Tomcat e, embora o módulo de login estivesse em execução, o contêiner não estava recebendo a autenticação. Minha solução foi fazer autenticação usando um formulário HTML com "j_security_check" como sua ação.
Outras dicas
umm um tiro no escuro
Você já tentou dar permissão no arquivo de política como assim
grant codeBase "file:/myCustomModule.jar" {
permission javax.security.auth.AuthPermission "modifyPrincipals";
permission javax.security.auth.AuthPermission "modifyPublicCredentials";
permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
};