Class CsrfProtectionFilter

  • All Implemented Interfaces:
    jakarta.ws.rs.container.ContainerRequestFilter

    @Priority(1000)
    public class CsrfProtectionFilter
    extends Object
    implements jakarta.ws.rs.container.ContainerRequestFilter
    Simple server-side request filter that implements CSRF protection as per the Guidelines for Implementation of REST by NSA (section IV.F) and section 4.3 of this paper. If you add it to the request filters of your application, it will check for X-Requested-By header in each request except for those that don't change state (GET, OPTIONS, HEAD). If the header is not found, it returns Response.Status.BAD_REQUEST response back to the client.
    Author:
    Martin Matula
    See Also:
    CsrfProtectionFilter
    • Field Detail

      • HEADER_NAME

        public static final String HEADER_NAME
        Name of the header this filter will attach to the request.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CsrfProtectionFilter

        public CsrfProtectionFilter()
    • Method Detail

      • filter

        public void filter​(jakarta.ws.rs.container.ContainerRequestContext rc)
                    throws IOException
        Specified by:
        filter in interface jakarta.ws.rs.container.ContainerRequestFilter
        Throws:
        IOException