【问题标题】:How to authenticate users in Java(REST) app?如何在 Java(REST)应用程序中对用户进行身份验证?
【发布时间】:2013-03-09 15:24:53
【问题描述】:

我有一些 java 服务器应用程序和一些 WEB 界面(jQuery)。对于 REST 服务,我使用 Jersey 实现。我可以轻松地从 WEB 页面将 JSON 发送到服务器,反之亦然。

我的 REST 服务示例:

@Path("/users")
public class User {

 @POST
 @Path("/login")
 @Consumes(MediaType.APPLICATION_JSON)
 public Response authUser(User user) {
   //code
 }
}

但是有一个问题。我如何验证用户? 例如,我有一些私有资源:当用户未登录时,他看不到它的资源/网页,但是当他登录时(输入正确的名称和密码),他可以看到它的资源。

我没有使用 sping 应用程序。我用谷歌搜索了很多时间,但没有找到简单的示例,然后我尝试阅读 Jose 的 Sandoval 书“RESTful Java Web Services”,在“安全”部分有很多有用的信息,但没有示例。

你能帮帮我吗?

【问题讨论】:

    标签: java web-services rest authentication web


    【解决方案1】:

    我相信有不同的方法可以解决这个问题。一种方法是,当用户进行身份验证时,您向他发回一个令牌(一段时间后过期),然后他在后续调用中将该令牌传回。

    将令牌保存到文件或数据库中。在来自客户端的后续请求中,比较令牌时间戳和值。

    一旦该令牌过期,他必须重新进行身份验证。

    【讨论】:

    • 感谢您的回复。我已经读过它,在书中它称为“自定义令牌身份验证”,但不知道如何实现它?也许你有一些简单的例子?
    • 我只搜索了一个例子。我真的不知道如何解决这个问题。所以我试图找到一些简单的例子。
    • 嗯,谢谢你的想法。但还有一个问题。当我将此令牌发送到 Web 客户端时,此令牌将存储在 HTTP 标头中吗?
    • @JavaDude 在成功验证的响应中。 Http Header 听起来是正确的。
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 2018-06-12
    • 2021-11-05
    • 1970-01-01
    • 2019-08-04
    • 2012-09-29
    • 2012-08-22
    • 1970-01-01
    相关资源
    最近更新 更多