openfire servlet插件开发


如Openfire插件中提供对外的Servlet服务,访问地址: http://server:9090/plugins/xxxservice/xxservlet
默认情况下访问该地址是会转向到Openfire认证界面,即需要认证才能访问该地址。
要免认证访问,需要如以下代码实现:

Servelet代码:
public class XXXXServiceServlet extends HttpServlet {
    private static final String SERVICE_NAME = "xxxservice/xxservlet";
    public void init(ServletConfig servletConfig) throws ServletException {
        super.init(servletConfig);
        AuthCheckFilter.addExclude(SERVICE_NAME);
    }
    public void destroy() {
        super.destroy();
        AuthCheckFilter.removeExclude(SERVICE_NAME);
    }
    ......
}

web/WEB-INF/web-custom.xml代码
    <servlet-mapping>
        <servlet-name>EnterpriseServiceServlet</servlet-name>
        <url-pattern>/xxservlet</url-pattern>
    </servlet-mapping>

关键点是:SERVICE_NAME 采用插件名称+servlet地址的写法。

你可能感兴趣的:(servlet,openfire)