用J2EE进行身份验证

时间:2014-03-22 12:42:36

标签: java-ee authentication jboss

在我的网站上我允许我的用户使用他们的名字和密码登录(这些数据存储在我的数据库中)。但现在我想允许他们使用他们的社交网络帐户登录,比如facebook,gmail ...... 我的网站在JBOSS应用服务器上运行。用户身份验证是通过基于表单的身份验证完成的,有点像这个示例http://dont-panic.eu/blogs/2012/sep/form-based-authentication-against-custom-database-jboss-7。 是否可以添加此新功能(使用社交网络帐户登录)并维护较旧的功能(简单登录),而不会对我正在进行用户身份验证的方式进行大的更改?如果是,我该怎么做?

非常感谢!

2 个答案:

答案 0 :(得分:2)

我很抱歉,但我认为没有简单的方法可以实现它。问题是您需要实施使用JAAS的自定义OAuth authentication提供程序。 OAuth很简单,您可以看到我的链接项目以获取示例代码。但是JAAS要难得多。几年前我尝试过一次,然后我放弃了。

您可以实现一些用于身份验证的代码(就像我一样),但是如果不与JAAS集成,则无法使用< security-constraint>等标准功能。

其他一些有用的链接:

  1. http://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/JAASRefGuide.html
  2. http://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/JAASLMDevGuide.html
  3. 这是我的两分钱。

答案 1 :(得分:0)

一般来说,社交网络都有一个javascript或jquery插件,可以让用户登录。

  1. 将其添加到您的网站中。
  2. 当用户点击它时。社交网络为您的应用提供身份验证令牌。
  3. 使用身份验证令牌,您可以在社交网络中查询用户注册的电子邮件。但是用户必须批准它。
  4. 一旦您将用户的社交电子邮件与数据库中的现有电子邮件进行比较,如果匹配,则允许用户登录。
  5. 这是对社交登录如何集成到现有Web应用程序的高级视图。