Следуя за prior question, я пытаюсь выяснить, как настроить аутентификацию на основе контейнера для приложения J2EE. В частности, мне нужно иметь возможность применять алгоритм дайджеста паролей, отличный от тех, которые поддерживаются java.security.MessageDigest
(которые являются SHA, MD2 или MD5 - here's where I think that limitation is documented). В этом случае моя база данных хранит пароли, зашифрованные Blowfish.Конфигурирование аутентификации на основе контейнера с использованием альтернативных методов дайджеста
У меня уже есть код Java, написанный для получения зашифрованного пароля из моей базы данных, и сравните введенный пользователем пароль с базой данных, выполнив шифрование Blowfish. Как настроить его так, чтобы контейнер просто использовал мой собственный класс (ы) Java для выполнения проверки подлинности пользователя?
Я использую JBoss AS 5.1 (что, я думаю, означает, что моя версия Tomcat - 6).
Могу ли я это сделать без изменения conf/login-config.xml? Это очень уродливо, чтобы выбор был записан в этот файл, особенно когда у меня уже есть очень хороший Java-код (EJB3 + POJO), который захватывает информацию пользователя. –
Вы можете, конечно, реализовать 'LoginModule' самостоятельно, а не расширять« DatabaseServerLoginModule »и получать информацию о пользователе, как хотите. Я не уверен, будет ли EJB доступным из LoginModule, хотя, но он был (длинным), поскольку я работал с JBoss; возможно, изменились. – ChssPly76
Учитывая сложность поиска полезной документации по любому из этих аспектов, я буду придерживаться расширения DatabaseServerLoginModule. Есть ли у вас какие-либо ссылки о том, что должен содержать параметр модуля «roleQuery»? У меня нет таблицы базы данных, содержащей любые данные о роли, поэтому я теряюсь в том, как справиться с этим. Я попытался вернуть постоянную строку, равную роли безопасности, определенную в моем DD, и я также попытался полностью исключить эту строку, но в любом случае вход в журнал генерирует исключение IOException: 'No properties file: users.properties или defaults: defaultUsers.properties найдено '. –