Контейнер безопасности Tomcat, который позволяет войти с именем пользователя ИЛИ адресом электронной почты - PullRequest
0 голосов
/ 31 октября 2018

Есть ли способ настроить Tomcat 8.5 или 9, чтобы позволить пользователю войти в систему с или своим именем пользователя или своим адресом электронной почты?

Я готов рассмотреть возможность использования стороннего контейнера безопасности, если это решит проблему.

В настоящее время используется Tomcat JDBC Realm, но только с именем пользователя. Не вижу способов изменить эту область, чтобы разрешить или имя пользователя или адрес электронной почты.

1 Ответ

0 голосов
/ 01 ноября 2018

Взгляните на Combined Realm , который допускает несколько механизмов аутентификации. В вашем случае вам, вероятно, понадобится 2 DataSourceRealm (а не 2 JDBC Realms) для доступа к одной и той же таблице, но с разными userNameCol параметрами.

Интересно отметить, что вы можете смешивать аутентификацию на основе уровня (база данных, LDAP) и аутентификацию на основе локального файла (UserDatabaseRealm). Тогда вы все равно можете войти в систему с правами администратора, даже если ваша база данных не работает, и все приложение кажется мертвым для других пользователей. Если есть вещи, которые не нуждаются в базе данных, вы все равно можете работать.

...