Есть аналогичные темы без конкретного решения, и я подумал, что лучше начать новый.Как расширить одного пользователя WebApp для нескольких пользователей
Я столкнулся с ситуацией, когда у меня есть WebApp, размещенный в RESIN (точно так же, как Tomcat, я думаю). До сих пор я разрабатывал приложение, используя db4o, так как я один, и мне нужно было завершить приложение ASAP, у меня есть БД для пользователей и еще одна БД для данных приложения для одного пользователя (меня), теперь, когда приложение почти Я собираюсь перейти к postgresql, и я серьезно отношусь к БД на пользователя, даже если БД хранит данные для нескольких приложений, так как будет обрабатывать любопытные конфиденциальные данные, и я думал, что отдельный БД будет лучшим (безопасным). Существует уже рудиментарное управление сеансом, в котором хранятся данные пользователя, такие как идентификатор в браузере. Но мне было интересно, как я могу расширить его до нескольких пользователей/db.
Я думал расширить класс слушателя, который сохраняет данные контекста, чтобы передать правильный объект db экземпляру приложения или, возможно, установить фильтр для этой цели.
.UPDATE.
Я хотел дать некоторое представление о том, что у меня есть.
у меня есть:
контекст, который содержит ссылки на некоторые объекты, один из этих объектов подключается к БД и проверяет пользователя и пароль.
Презентационный сервлет (HttpServlet), сопоставленный с «/», который имеет регистрационную форму, которая отправляется в/login.
Входной сервлет (HttpServlet), сопоставленный с именем «/ login», который проверяет атрибуты пароля пользователя httpSession на соответствующий объект, который находится в Контексте, если есть соответствие, задает атрибут httpSession, который содержит USERID, и перенаправляет пользователя на само приложение находится в /index-debug.html, если не создает новую страницу html с формой входа в систему.
Фильтры авторизации и проверки подлинности, сопоставленные с /index-debug.html, который проверяет HTTPServletRequest для атрибута USERID и проверяет, имеет ли пользователь разрешение на доступ к приложению.
Наконец, БД БД, который отвечает за чтение и запись в базу данных данных пользователя WebApp. Когда я выполняю определенный метод в webApp CP2JAVAWS, этот метод подходит к соответствующему методу в bean-компоненте, проблема в том, что этот компонент имеет статическую базу данных и пока он позволяет только одному пользователю в то время.
Что бы я хотел сделать, так это позволить этому БД БД создавать экземпляр один раз для каждого пользователя и читать и хранить соответствующие данные в зависимости от текущего зарегистрированного пользователя.
Идея одной БД на пользователя в настоящее время отбрасывается, но я не знаю, как именно это вытащить.
Большое спасибо, это в основном дополняет ответ, который сделал ryan1234. Спасибо вам обоим. – Jigzat