1

我几乎一整天都在使用 JSF 身份验证,我想我完全迷路了。我想要灵活的身份验证。

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

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

顺便提一句。有没有什么好的文章可以比较并说明我们应该在哪种情况下使用什么方法?

PS。对不起,如果话题不好,我没有更好的主意:/


编辑: 换句话说:是一个如何使用基于领域和表单的身份验证的示例。我必须有数据库,带有用户表、用户名列、密码列、组表等。对吗?我必须用这个配置我的域...但是,如果我没有访问数据库的权限怎么办?我只能访问网络服务,它会告诉我用户名和密码是否正确..

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

4

1 回答 1

1

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

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

于 2012-12-11T10:17:15.227 回答