如何将 PAX CDI 与声明式服务一起使用
How to use PAX CDI with Declarative service
我们正在使用 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
如果可能怎么办?
有没有其他方法可以使用 CXF + DOSGI 进行方法级授权
您不能混合使用 deltaspike 和声明式服务。 Deltaspike security 是一个 cdi 扩展,因此您需要使用 pax cdi 来公开您的 OSGi 服务。
另一件事是您需要以某种方式进行身份验证。我建议使用 CXF JAASAuthenticationFeature。它可以对 karaf 中配置的 jaas 提供程序进行基本身份验证。结果是一个 jaas 登录,您可能可以在 deltaspike 安全中使用它来作为您的授权基础。
我们正在使用 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 如果可能怎么办?
有没有其他方法可以使用 CXF + DOSGI 进行方法级授权
您不能混合使用 deltaspike 和声明式服务。 Deltaspike security 是一个 cdi 扩展,因此您需要使用 pax cdi 来公开您的 OSGi 服务。
另一件事是您需要以某种方式进行身份验证。我建议使用 CXF JAASAuthenticationFeature。它可以对 karaf 中配置的 jaas 提供程序进行基本身份验证。结果是一个 jaas 登录,您可能可以在 deltaspike 安全中使用它来作为您的授权基础。