Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Osgi 如何将PAX CDI与声明性服务结合使用_Osgi_Cdi_Karaf_Deltaspike - Fatal编程技术网

Osgi 如何将PAX CDI与声明性服务结合使用

Osgi 如何将PAX CDI与声明性服务结合使用,osgi,cdi,karaf,deltaspike,Osgi,Cdi,Karaf,Deltaspike,我们正在使用CXF+DOSGI rest服务 接口: @Path("/") public interface DefaultApi{ @POST @Path("/public/login") @Consumes({ "application/json" }) @Produces({ "application/json" }) public Response login(@HeaderParam("User-Agent") String userAge

我们正在使用CXF+DOSGI rest服务

接口:

@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 { 
是否可以将ApacheDeltaspike与CXF+DOSGI一起用于方法级授权 如果可能的话,怎么做


使用CXF+DOSGI进行方法级授权还有其他选择吗?您不能混合使用deltaspike和声明性服务。Deltaspike security是一个cdi扩展,因此您需要使用pax cdi来公开您的OSGi服务


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

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

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