JAAS + LoginModule + jdbcRealm + Вход по электронной почте вместо идентификатора пользователя - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть приложение JSF с JAAS, работающее отлично. Аутентификация производится по ID пользователя и паролю. LoginModule выполняет аутентификацию и создание Принципов пользователя.

Теперь я обновляю приложение, чтобы разрешить пользователям входить в систему с любого из их предварительно зарегистрированных и подтвержденных электронных писем.

Еще раз LoginModule выполняет аутентификацию и создание Принципов пользователя в соответствии с ИД пользователя владельца электронной почты.

Взаимосвязь таблиц не такая уж причудливая:

EmailTable (N) - (1) UserTable (1) - (N) UserRoles

Но даже после выполнения аутентификации и создания Принципов пользователя в приложении JSF выходные данные # {request.remoteUser} или # {request.userPrincipal.name} по-прежнему будут являться пользовательским электронным письмом, введенным на странице входа, а не ID пользователя, и авторизация на внутренних страницах не работает.

Пожалуйста, чего мне не хватает?

...