1

我在 Glassfish 上有一个工作的 JavaEE 6 Web 应用程序,这个应用程序已经有一个 JSF 前端并有它的身份验证机制((使用 CDI 和基于注释的安全性)所以有一个登录屏幕,用户输入用户名密码,按下登录按钮和 Java EE身份验证过程开始。

现在我想“也”将我的一些服务类公开为 REST 服务(我可能会使用 Jersey),因此也可以从移动设备访问它。但让我担心的是登录部分。

我将使用完全相同的现有身份验证但现在我希望我的应用程序从休息请求而不是从登录屏幕中获取此凭据。然后继续使用已经存在的现有验证方法(从数据库中检查用户名密码等)

我有点迷路了,我该怎么做,我想我需要使用其中一个过滤器来拦截请求并获取用户名密码,但不确定如何以及哪个?或者我不需要这样的东西?

4

1 回答 1

3

您可以像保护 REST 服务一样保护 REST 服务,例如:

@Path("/foo")
@RolesAllowed({"admin", "customer"})
public class Foo {

@GET
@Produces("text/plain")
@RolesAllows("admin")
public void adminOnly() {}

public void adminOrCustomer() {}

}

我猜你已经有了他们的角色和映射,所以只需使用你获得的相同角色,应用程序服务器将负责其余的工作。

于 2012-12-21T21:08:04.640 回答