Выполнить код после успешного входа в JAAS - PullRequest
1 голос
/ 14 ноября 2011

Есть ли что-то вроде слушателя, который я могу использовать, когда аутентификация JAAS выполнена успешно, чтобы я мог выполнить код в этот момент?

Сейчас я использую JBoss AS 7 с DatabaseLoginModule,

Одним из способов было бы реализовать пользовательский класс входа, расширяющий DatabaseLoginModule, однако для этого требования это кажется излишним.Я не совсем ясно о некоторых аспектах жизненного цикла приложения Java EE, возможно, приложение или слушатель сеанса запускается, когда вход в систему выполнен.

Каков наилучший способ достичь этого?

1 Ответ

1 голос
/ 15 ноября 2011

Вы на правильном пути: просто напишите другой LoginModule и настройте его последним, как «требуется», чтобы он всегда выполнялся.

Я попытался создать UserBean в области сеанса, который реализует SessionBindingListener, ожидая, что после привязки этот пользователь только что вошел в систему, но в действительности он работает не совсем так. Попытка сделать это на уровне бина - это сложно. Вам также необходимо организовать его так, чтобы на этот пользовательский бин ссылались все страницы, на которые пользователь мог зайти при первом входе в систему, и не было страниц, на которые можно было бы войти без входа в систему, и решение, действительно ли пользователь вошел в систему, также проблематично. JAAS LoginModules - это то, что нужно для обоих.

...