Я реализовал один сервис, который выполняет операцию, требуемую для аутентификации входа в систему OpenID с использованием библиотеки openid4java.
Некоторые считают, что поток приложения выглядит следующим образом:
- Страница JSP для получения OpenID изuser
- сервлет действий JSP-страницы
- Параметр openid извлечения сервлета, взаимодействует со службой для получения необходимой информации для перенаправления пользователя к фактическому провайдеру OpenID для аутентификации.
- return urlпоставщику OpenID предоставляется один другой сервлет.
- этот сервлет извлекает информацию, требуемую из ответа, отправленного поставщиком открытого идентификатора, а затем взаимодействует со службой, чтобы проверить, аутентифицирован ли пользователь поставщиком открытого идентификатора.
- Если пользователь аутентифицирован, он сервлет перенаправляет пользователя на домашнюю страницу.
Если вы поняли мой подход к реализации, пожалуйста, ответьте на мои следующие запросы, в противном случае, пожалуйста, дайте мне знать, чтобы я приложил больше усилий, чтобы сделать его понятным
Запросы, которые я использую JБосс 5 сервер приложений.В приведенном выше коде я просто получаю информацию, если пользователь аутентифицирован или нет, но мне нужно будет сообщить jboss о том, как он должен разрешить пользователю доступ к ограниченным ресурсам, то есть просматривать веб-страницы.
Обычно мы используем пользовательский класс модуля входа в систему, который наследует org.jboss.security.auth.spi.UsernamePasswordLoginModule
для аутентификации на основе базы данных (вызывая сервисные методы для получения информации об аутентификации базы данных).Но в этом случае мне нужен сервлет, который действует как канал связи между сервисом, пользователем и поставщиком OpenID. Как мне интегрировать реализацию сервлета и модуля входа в систему обоих.
Еще одна проблема, с которой я могу столкнуться, это то, что я являюсьиспользование сеанса между двумя реализованными сервлетами для хранения и извлечения объекта DiscoveryInformation
.Я думаю, что сессия не будет доступна, пока пользователь не вошел в систему.
Подход к реализации, которому я следую, основан на статье http://www.theserverside.com/news/1364125/Using-OpenID
Пожалуйста, помогите мне Спасибо