在我的情况下,在JSF中选择哪个用户身份验证?

时间:2012-12-10 23:43:13

标签: java java-ee authentication jsf-2 glassfish

我花了差不多一整天的时间用JSF认证,我觉得我完全迷失了。我想要具有灵活性的身份验证。

大多数人都说“基于HTTP FORM的身份验证与JDBC领域相结合”是最好的..但在我看来有点......不灵活。我不想设置数据库名称,并且将用户名,密码,组等的表作为常量。

所以我的问题是:如果我的网络服务(JAX-WS,WCF等 - 我认为并不重要)有一个返回的方法,那么最好的方法是什么?用户名和密码是否正确?当我有一个连接到DB本身的功能来检查用户和密码是否正常..我只需要关注哪个页面显示(登录页面或“请求”页面)的整个机制。如果是登录页面,它将使用我的webservice方法进行检查..

顺便说一句。是否有任何好的文章可以比较并说明我们应该使用哪种方法?

PS。对于这个话题很抱歉,如果它不好,我没有更好的主意:/


修改 换句话说:Here是如何使用Realm和基于表单的身份验证的示例。 我必须有DB,包括用户表,用户名列,密码列,组表等。对吗?我必须使用此配置我的域...但是,如果我没有访问数据库的内容?我只能访问网络服务,它会告诉我用户和密码是否正确..

在这种情况下,我应该使用哪种用户身份验证方法?

1 个答案:

答案 0 :(得分:1)

实现此目的的一种方法是使用连接到Web服务而不是数据库的自定义域。 如何这样做部分标准化(使用JAAS),但仍取决于应用程序服务器。 对于glassfish,请参阅这个非常相似的问题和答案:Java Web Application: Using a custom realm to perform login through a webservice

另一种方法是不使用Java EE安全性,并在Web应用程序中自己处理所有安全性(例如使用过滤器等)。我将首先尝试使用自定义领域的Java EE兼容方式。