如何使用Spring MVC处理用户登录?

时间:2010-01-23 04:10:21

标签: java authentication spring-mvc openid

我正在使用Spring MVC作为Web应用程序。我想在我的应用程序中使用OpenID,但我只是想知道Spring MVC的一般处理身份验证的好方法是什么。

我的网络应用是一个问答应用。这是我感到困惑的情景:
当用户想要提问时,他们会在文本框中输入问题并点击提交,然后将表单发布到“/ question / create”,这会映射到Create中的Question方法控制器。此时,如果他们已登录,则会将问题添加到数据库,但如果不是,我希望他们看到登录屏幕,然后在成功登录后,问题将被添加到数据库中。 / p>

我不明白的是如何在登录屏幕后自动将问题添加到数据库,因为表单值将是登录屏幕的表单值,而不是添加问题屏幕的表单值

4 个答案:

答案 0 :(得分:6)

Spring Security是在Spring中处理身份验证的方式,并且自version 2.0以来支持OpenID身份验证。请参阅官方2.3.4. OpenID Login中的Reference Manual部分。

答案 1 :(得分:3)

acegi或spring security就是您所需要的。

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

任何未经身份验证的用户都将被重定向到登录页面,并且在成功进行身份验证后,可能会执行原始请求的操作。 Acegi提供这种设施。

答案 2 :(得分:3)

您应该查看OpenID for Java:http://code.google.com/p/openid4java/ 我认为这是最好的方法。

答案 3 :(得分:1)

您应该检查spring security。它拥有您所需要的一切以及更多。