Вход в Jackrabbit с пользовательским LoginModule - PullRequest
3 голосов
/ 23 декабря 2009

Я пытаюсь написать LoginModule, который аутентифицирует пользователей с помощью репозитория Jackrabbit. Тем не менее, я хочу, чтобы он проверял учетные данные, которые хранятся в самом хранилище. Итак, проблема в том, что в моем LoginModule мне нужно снова подключиться к хранилищу, что делает его бесконечным циклом. Что я могу с этим поделать?

Ответы [ 2 ]

4 голосов
/ 01 января 2010

Есть 2 основных подхода:

  1. Укажите учетную запись администратора для хранилища Jackrabbit, с которым настроен модуль LoginModule, чтобы он всегда мог подключиться к хранилищу. При подключении в качестве пользователя-администратора запрашивайте хранилище с предоставленными учетными данными (для обычного пользователя, который проходит проверку подлинности), чтобы подтвердить их подлинность.

  2. В качестве альтернативы можно настроить всех пользователей с помощью имени входа Jackrabbit, поэтому вместо подключения с именем администратора вы пытаетесь подключиться с помощью предоставленных учетных данных, и если вы подключаетесь, то пользователь успешно подключается (с этим подходом я часто делает простой запрос, чтобы дважды проверить правильность соединения, например, поискать настоящее имя пользователя в хранилище).

В обоих случаях модуль LoginModule должен содержать код, который подключается непосредственно к Jackrabbit, и не должен требовать модуля LoginModule для подключения к хранилищу.

1 голос
/ 06 января 2010

В проекте JeCARS имеется собственный LoginModule (org.jecars.CARS_LoginModule). Для первого доступа он использует жестко запрограммированного пользователя-администратора, а поскольку доступ к хранилищу возможен только с помощью сервлета, в этот момент выполняется проверка, чтобы предотвратить внешнее использование пользователя-администратора.

...