package cz.cvut.fel.adaptiverestfulapi.security; import cz.cvut.fel.adaptiverestfulapi.core.HttpContext; import cz.cvut.fel.adaptiverestfulapi.core.Filter; import cz.cvut.fel.adaptiverestfulapi.core.FilterException; import cz.cvut.fel.adaptiverestfulapi.meta.configuration.Configuration; import cz.cvut.fel.adaptiverestfulapi.meta.model.Model; /** * Abstract authentication filter. */ public abstract class Authentication extends Filter { @Override public final HttpContext process(HttpContext httpContext, Model model, Configuration configuration) throws FilterException { this.authenticate(httpContext); return this.resign(httpContext, model, configuration); } /** * Authenticates user in the HTTP context. * @param httpContext The HTTP context. * @throws AuthenticationException */ protected abstract void authenticate(HttpContext httpContext) throws AuthenticationException; }