Faça login no JackRabbit com o LoginModule personalizado
-
21-09-2019 - |
Pergunta
Estou tentando escrever um LoginModule que autentica os usuários com o JackRabbit Repository. No entanto, quero que ele verifique as credenciais armazenadas no próprio repositório. Portanto, o problema é que, no meu LoginModule, tenho que me conectar ao repositório novamente, tornando -o um loop infinito. Existe algo que eu possa fazer sobre isso?
Solução
Existem 2 abordagens básicas:
Forneça um login de administrador para o repositório JackRabbit com o qual o LoginModule está configurado para que sempre possa se conectar ao repositório. Quando conectado como usuário do administrador, consulte o repositório com as credenciais fornecidas (para o usuário normal que está sendo autenticado) para autenticá -las.
Como alternativa, todos os usuários configuram com um login do JackRabbit; portanto, em vez de se conectar com o login do administrador, você tenta se conectar com as credenciais fornecidas e, se você se conectar, o usuário estará conectado com sucesso (com essa abordagem, geralmente fará uma consulta simples Para verificar se a conexão é válida, por exemplo, procure o nome real do usuário no repositório).
Nos dois casos, o LoginModule deve conter código que se conecta diretamente ao JackRabbit e não deve exigir que um loginModule se conecte ao repositório.
Outras dicas
No JECARS Projeto Existe um LoginModule personalizado (org.jecars.cars_loginmodule). Ele usa um usuário administrador codificado para o primeiro acesso e, como o repositório só pode ser acessado pelo servlet, uma verificação neste momento é executada para impedir o uso externo do usuário administrador.