1

我们正在使用 CXF + DOSGI 休息服务

界面:

@Path("/") 
public interface DefaultApi{ 
 @POST 
    @Path("/public/login") 
    @Consumes({ "application/json" }) 
    @Produces({ "application/json" }) 
    public Response login(@HeaderParam("User-Agent") String userAgent,@QueryParam("username") String username,@QueryParam("password") String password, 
                     @Context UriInfo uriInfo, 
                     @Context ResourceContext recourceContext); 

执行:

@Component(immediate = true, configurationPolicy = ConfigurationPolicy.REQUIRE, configurationPid = "frontend.rest") 
public class DefaultApiImpl implements DefaultApi { 

是否可以将 Apache Deltaspike 与 CXF + DOSGI https://deltaspike.apache.org/documentation/security.html 一起用于方法级授权 https://deltaspike.apache.org/documentation/security.html 如果可能怎么做?

是否有任何其他替代方法可以使用 CXF + DOSGI 进行方法级别授权

4

1 回答 1

0

您不能混合使用 deltaspike 和声明式服务。Deltaspike security 是一个 cdi 扩展,因此您需要使用 pax cdi 来公开您的 OSGi 服务。

另一件事是您需要以某种方式进行身份验证。我建议使用 CXF JAASAuthenticationFeature。它可以对 karaf 中配置的 jaas 提供程序进行基本身份验证。结果是一个 jaas 登录,您可能可以在 deltaspike 安全性中使用它来作为授权的基础。

于 2017-06-09T05:29:40.073 回答