我好像把自己逼到了墙角。首先让我告诉您我的最终目标是什么:我有一个 GWT 应用程序,它具有可供未登录用户使用的功能,而其他功能仅供经过身份验证的用户使用。当未经身份验证的用户单击需要身份验证的内容时,我希望在模式窗口中弹出一个登录框,并要求用户进行身份验证。 (如果不清楚,请访问 digg.com 并尝试在不登录的情况下“挖掘”一个故事,您会明白我的意思)
我有代码来添加用户并保存他们的用户名和密码(用 jBCrypt 散列)。我还有一个 RPC,它接受用户名和密码并可以验证密码是否正确。
我的问题是验证 session 。我可以获得 JSESSIONID,但那是我迷路的部分。如何将用户 ID 与该 session 相关联,以及如何检查它是否仍然有效?
我知道 glassfish 可以为我管理 session 、用户和角色,但我不知道如何使用 GWT 使它顺利运行。在 Java EE 环境中是否有 GWT 和验证用户的示例?我已经在谷歌上搜索了几个小时,但一无所获。
最佳答案
你的问题有点令人困惑,因为我的印象是你同时朝两个方向前进:-)。
如果您想使用 Java EE 身份验证,则需要使用一些可以在 web.xml 中配置的纯 HTML 页面。使用 RequestBuilder,您实际上可以通过 GWT 代码与这些页面进行交互(就像我们所做的那样)。
如果您想了解有关已通过身份验证的用户的更多信息,请使用 HttpServletRequest 附带的 Principal 对象。 Principal 对象有一个名称属性。
使用 Java EE 身份验证非常有限,因此在大多数情况下我们倾向于实现自己的身份验证。
关于authentication - Java EE 用户身份验证和 GWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283889/