Как обрабатывать входы пользователей в Spring MVC?

Я использую Spring MVC для веб-приложения. Я хочу использовать OpenID для своего приложения, но мне просто интересно, какой хороший способ обработки аутентификации в целом для Spring MVC.

Мое веб-приложение — это приложение для вопросов и ответов. Вот сценарий, который меня смущает:
Когда пользователь хочет задать вопрос, он вводит вопрос в текстовое поле и нажимает кнопку "Отправить", после чего форма отправляется в "/question/create", что соответствует Create в моем Question контроллере. На этом этапе, если они вошли в систему, вопрос будет добавлен в базу данных, но если это не так, я бы хотел, чтобы они увидели экран входа в систему, а затем после успешного входа в систему вопрос будет добавлен в базу данных.

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


person Kyle    schedule 23.01.2010    source источник
comment
Уже есть действительно хорошее приложение для вопросов и ответов. На случай, если вы не знали. :)   -  person Jack Leow    schedule 23.01.2010
comment
Ха-ха, да, этот сайт отличный, хотя мой не был бы ориентирован на программиста :)   -  person Kyle    schedule 23.01.2010


Ответы (4)


acegi или spring security - это то, что вам нужно.

http://static.springsource.org/spring-security/site/faq.html

Любой неаутентифицированный пользователь будет перенаправлен на страницу входа, и после успешной аутентификации может быть выполнено исходное запрошенное действие. Acegi предоставляет эту возможность.

person AM01    schedule 23.01.2010

Spring Security — это способ обработки аутентификации в Spring, который поддерживает OpenID. аутентификация начиная с версии 2.0. См. раздел 2.3. 4. Вход через OpenID в официальном Справочном руководстве .

person Pascal Thivent    schedule 23.01.2010

Вам следует проверить OpenID для Java:http://code.google.com/p/openid4java/ Я думаю, что это лучший способ сделать это.

person Alos    schedule 23.01.2010

Вы должны проверить безопасность Spring. В нем есть все, что вам нужно, и даже больше.

person Mauricio    schedule 23.01.2010