Spring Security Web module provides comprehensive web security features for Spring-based applications, including servlet-based authentication, authorization, CSRF protection, session management, and security filter chain implementation
—
Spring Security Web provides flexible request matching capabilities and utility classes for URL manipulation, text escaping, and security operations.
public interface RequestMatcher {
boolean matches(HttpServletRequest request);
default MatchResult matcher(HttpServletRequest request);
}
public class AntPathRequestMatcher implements RequestMatcher {
public AntPathRequestMatcher(String pattern);
public AntPathRequestMatcher(String pattern, String httpMethod);
public boolean matches(HttpServletRequest request);
}
public class RegexRequestMatcher implements RequestMatcher {
public RegexRequestMatcher(String pattern, String httpMethod);
public boolean matches(HttpServletRequest request);
}
public class OrRequestMatcher implements RequestMatcher {
public OrRequestMatcher(RequestMatcher... requestMatchers);
public boolean matches(HttpServletRequest request);
}
public class AndRequestMatcher implements RequestMatcher {
public AndRequestMatcher(RequestMatcher... requestMatchers);
public boolean matches(HttpServletRequest request);
}
public class NegatedRequestMatcher implements RequestMatcher {
public NegatedRequestMatcher(RequestMatcher requestMatcher);
public boolean matches(HttpServletRequest request);
}
public class RequestHeaderRequestMatcher implements RequestMatcher {
public RequestHeaderRequestMatcher(String expectedHeaderName);
public RequestHeaderRequestMatcher(String expectedHeaderName, String expectedHeaderValue);
public boolean matches(HttpServletRequest request);
}
public class IpAddressMatcher implements RequestMatcher {
public IpAddressMatcher(String ipAddress);
public boolean matches(HttpServletRequest request);
public boolean matches(String address);
}
public class MediaTypeRequestMatcher implements RequestMatcher {
public MediaTypeRequestMatcher(MediaType mediaType);
public MediaTypeRequestMatcher(MediaType... mediaTypes);
public void setIgnoredMediaTypes(Set<MediaType> ignoredMediaTypes);
public boolean matches(HttpServletRequest request);
}
public class ELRequestMatcher implements RequestMatcher {
public ELRequestMatcher(String el);
public boolean matches(HttpServletRequest request);
}public final class UrlUtils {
public static String buildRequestUrl(HttpServletRequest request);
public static String buildFullRequestUrl(HttpServletRequest request);
public static boolean isAbsoluteUrl(String url);
}
public class RedirectUrlBuilder {
public String getUrl();
public RedirectUrlBuilder setScheme(String scheme);
public RedirectUrlBuilder setServerName(String serverName);
public RedirectUrlBuilder setPort(int port);
public RedirectUrlBuilder setContextPath(String contextPath);
public RedirectUrlBuilder setServletPath(String servletPath);
public RedirectUrlBuilder setPathInfo(String pathInfo);
public RedirectUrlBuilder setQuery(String query);
}
public final class TextEscapeUtils {
public static String escapeEntities(String s);
}
public class ThrowableAnalyzer {
public Throwable[] determineCauseChain(Throwable throwable);
public <T extends Throwable> T getFirstThrowableOfType(Class<T> type, Throwable[] chain);
public void registerExtractor(Class<? extends Throwable> throwableType, ThrowableCauseExtractor extractor);
}
public interface ThrowableCauseExtractor {
Throwable extractCause(Throwable throwable);
}
public class OnCommittedResponseWrapper extends HttpServletResponseWrapper {
protected OnCommittedResponseWrapper(HttpServletResponse response);
protected void onResponseCommitted();
public void setContentLength(int len);
public void setContentLengthLong(long len);
public void setContentType(String type);
public void setDateHeader(String name, long date);
public void addDateHeader(String name, long date);
public void setHeader(String name, String value);
public void addHeader(String name, String value);
public void setIntHeader(String name, int value);
public void addIntHeader(String name, int value);
}// Path matching
RequestMatcher apiMatcher = new AntPathRequestMatcher("/api/**");
RequestMatcher adminMatcher = new AntPathRequestMatcher("/admin/**", "GET");
// Combined matching
RequestMatcher publicMatcher = new OrRequestMatcher(
new AntPathRequestMatcher("/public/**"),
new AntPathRequestMatcher("/css/**"),
new AntPathRequestMatcher("/js/**")
);
// URL building
String requestUrl = UrlUtils.buildRequestUrl(request);
boolean isAbsolute = UrlUtils.isAbsoluteUrl("https://example.com/path");Install with Tessl CLI
npx tessl i tessl/maven-org-springframework-security--spring-security-web