如何使用LDAP,应用程序,第三方应用程序等进行身份验证

时间:2011-03-17 07:06:38

标签: java authentication java-ee

我们将在java中创建一个Web应用程序。

对于用户身份验证,目前我们使用的是LDAP。但我们想要一些其他选项,如应用程序级别身份验证(来自数据库),gmail,facebook等。

与登录页面上的堆栈溢出有些类似。

我们将维护一个属性文件,该文件将包含所有可用的身份验证选项,如LDAP,facebook,gmail等。

如果我们想再添加一个身份验证服务,我们会将其添加到此属性文件中,然后我们将需要添加帮助文件来执行身份验证的实际工作。

这应该是高度可定制的。

我对此有以下问题,

1)最好的方法是什么? 2)如何进行谷歌,脸谱等第三方认证?

PS:当我们使用gmail等进行身份验证时,我们需要一些基本信息回到我们可以使用的应用程序。

2 个答案:

答案 0 :(得分:3)

一种流行的解决方案是Spring Security(以前称为Acegi)。它具有各种后端身份验证并处理openID和LDAP。您可以将它与Abdel提到的openID选择器一起使用。如果您在谷歌周围,您可以找到各种插件来连接不同的后端身份验证器,包括JAAS。

答案 1 :(得分:2)

Stackoverflow(Stackexchange)正在使用openid-selector的修改版本。它是高度可定制的,您也可以添加自己的选择器。

您可以使用openIDOAuth机制通过Google,Facebook和其他社交网站进行身份验证。您可以使用许多可用于java的库。看看openid4java。您也可以参考此list for libraries

您可以从Google,Yahoo或其他openid提供商那里获得一些基本信息(姓名,电子邮件,照片等)。