У меня есть веб-приложение на Tomcat. Мне нужно ограничить доступ ко всем его ресурсам только для аутентифицированных пользователей. Пользовательские логины и учетные данные расположены в некоторой таблице БД с соответствующими столбцами. Какой самый простой способ реализовать это в случае, если схема базы данных не подлежит изменению.
Я нашел несколько вариантов:
- Расширение кота JDBCRealm. Требуется дополнительная таблица для ролей (поэтому расширение вместо использования стандартных), но я упростил случай только одной роли.
- Реализовать JAAS LoginModule на основе БД. Если есть существующие решения с открытым исходным кодом с лицензией для использования в проприетарном программном обеспечении, дайте мне знать об этом.
- После успешного входа в систему введите пользователя в атрибут сессии. Затем внедрите фильтр сервлетов, который проверяет наличие этого атрибута в сеансе.
Возможно, есть более простые варианты. Так что будет интересно их увидеть.