JAAS com política de senha LDAP
-
21-09-2019 - |
Pergunta
Um usuário está acessando um aplicativo Web restrito com JAAS (no Glassfish 2.1). O LDAPREALM é usado e a autenticação é realizada com sucesso a partir do LDAP. Uma política de senha deve ser instalada para os usuários, para que sejam forçados a alterar senhas, ter senhas de certa complexidade/comprimento, falhas de senha e last N Senhas devem ser verificadas. A política de senha do servidor LDAP usada (Opends) suporta tudo isso, mas não é óbvio como receber esse tipo de informação no JAAS Form Form Login que estamos usando, para que as informações (ou seja, "Altere sua senha") podem ser exibido para o usuário.
Você tem alguma idéia de como implementar isso? Usando apenas o banco de dados não é uma opção, os usuários precisam estar no LDAP. O que não é óbvio é se deve usar as políticas de senha LDAP ou ter tudo programado em nosso aplicativo da Web. Gostaria de evitar isso e usar as políticas de senha nativa do LDAP.
Obrigado pelas respostas e melhores cumprimentos, Bozo
Solução
Infelizmente, o que você pode fazer usando o JAAS é meio restrito a um pequeno conjunto de operações que qualquer sistema de login pode suportar. Embora o LDAP suporte uma política de senha, outros sistemas de login (por exemplo, Keystores) não podem, portanto, o JAAS não pode ter código que exija isso.
Portanto, você terá que conversar com o servidor LDAP diretamente usando JNDI ou possivelmente Esta biblioteca da Novell.
Outras dicas
Entendi. Tem que usar um SAM, pois você não pode receber o Loginexception (com o motivo da falha de login) nos mecanismos de autenticação existentes no Glassfish. A resposta está aqui: Como substituir j_security_check em glassfish?