Java 如何以编程方式从magnolia cms注销

Java 如何以编程方式从magnolia cms注销,java,jax-rs,magnolia,Java,Jax Rs,Magnolia,我想为注销用户创建自定义REST。我使用一个方法/注销创建了基于jax rs的端点定义: 我应该用什么代码来代替//如何在此处注销用户?要使其工作?您可以注入以下组件并触发注销 info.magnolia.context.UserContext 我创建了基于info.magnolia.cms.security.LogoutFilter的工作解决方案 info.magnolia.context.UserContext @Path("/logout") @GET @Produces(MediaT

我想为注销用户创建自定义REST。我使用一个方法/注销创建了基于jax rs的端点定义:


我应该用什么代码来代替//如何在此处注销用户?要使其工作?

您可以注入以下组件并触发注销

info.magnolia.context.UserContext

我创建了基于info.magnolia.cms.security.LogoutFilter的工作解决方案

info.magnolia.context.UserContext
@Path("/logout")
@GET
@Produces(MediaType.APPLICATION_JSON)
public void logout(@Context HttpServletRequest request) {
    info.magnolia.context.Context ctx = MgnlContext.getInstance();
    if (ctx instanceof UserContext) {
        AuditLoggingUtil.log((UserContext) ctx);
        ((UserContext) ctx).logout();
    }

    if (request.getSession(false) != null) {
        request.getSession().invalidate();
    }
}