如何在Java(REST)应用程序中验证用户?

时间:2013-03-20 13:37:40

标签: java web-services rest authentication web

我有一些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”,在“安全性”部分有很多有用的信息,但没有例子。

你能帮我吗?

1 个答案:

答案 0 :(得分:2)

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

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

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