【问题标题】:Which user authentication choose in JSF in my case? [closed]在我的情况下,JSF 中选择哪种用户身份验证? [关闭]
【发布时间】:2012-11-28 11:23:03
【问题描述】:

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

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

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

顺便说一句。有没有什么好文章可以比较一下,在什么情况下应该用什么方法?

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


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

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

【问题讨论】:

  • 我不明白你的问题。您想要一个 Web 服务来验证用户名/密码对,或者您想要向 JSF 应用程序添加身份验证?或者您在问使用这样的 Web 服务向 JSF 应用程序添加身份验证是否是个好主意?

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


【解决方案1】:

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

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

【讨论】:

  • GlassFish 实际上支持标准 Java EE 方式来定义“领域”(身份验证模块)。这是通过 JASPIC API/SPI 完成的。
猜你喜欢
  • 1970-01-01
  • 2018-07-05
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
相关资源
最近更新 更多