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?

Foi útil?

Solução

Existem 2 abordagens básicas:

  1. 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.

  2. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top