Я новичок в области аутентификации и безопасности, и я пытаюсь расширить механизм аутентификации своего приложения, которое в настоящее время предоставляет традиционную аутентификацию имени пользователя/пароля, чтобы предоставить пользователю возможность аутентификации через LDAP-сервер.Использование нескольких модулей входа в JBoss
В текущей реализации приложение использует j_security_check поток из API Сервера для аутентификации пользователя. standalone.xml файл Jboss имеет модуль входа, указывающий на myLoginModuleClass класс, который расширяет jboss.security.auth.spi.UsernamePasswordLoginModule.
<security-domain name="db-domain">
<authentication>
<login-module code="myLoginModuleClass" flag="required" module="packageForClass">
<module-option name="hashAlgorithm" value="SHA-256" />
<module-option name="hashEncoding" value="base64" />
<module-option name="password-stacking" value="useFirstPass" />
</login-module>
</authentication>
</security-domain>
Я добавил еще один логин-модуль под названием LDAP Войти модуль в отдельной безопасности.
<security-domain name="ldap-domain">
<authentication>
<login-module code="LDAPLoginModule" flag="required" module="LDAPModulePackage">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory" />
<module-option name="java.naming.security.authentication" value="simple" />
<module-option name="bindCredential" value="secret" />
<module-option name="password-stacking" value="useFirstPass" />
</login-module>
</authentication>
</security-domain>
вопрос я в настоящее время сталкивается в следующем: JBoss-web.xml и web.xml проекта как указывает на существующий домен безопасности: DB-домена. И я могу указать только один домен безопасности. Вопрос: Как я могу программным образом сказать jboss указать конкретный класс входа на основе выбора пользователя, то есть, если пользователь решил пойти с ldap auth, вызывается класс LDAPLoginModule? Или есть ли другой лучший способ аутентификации в режиме микширования?
Спасибо заранее
Привет, Спасибо за комментарий, к сожалению, в моем случае пользовательский ввод является динамическим и перераспределяет требуемый xml jboss перезагрузка, которую я не могу сделать – ACoder
Тем временем я нашел работу. Я могу указать как модуль входа в единый домен безопасности, так и изменить флаг «требуется» на достаточное количество ». При этом безопасность jboss будет автоматически забирать логин в том порядке, в котором он настроен в файле standalone.xml, и останавливается всякий раз, когда логин успешный. – ACoder
Рад, что вы нашли работу. Может быть полезно для меня в будущем. Спасибо за обмен. – Sampada