CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-org-springframework-security--spring-security-web

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

Pending
Overview
Eval results
Files

utilities.mddocs/

Request Matching and Utilities

Spring Security Web provides flexible request matching capabilities and utility classes for URL manipulation, text escaping, and security operations.

Request Matching

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);
}

Utility Classes

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);
}

Usage Examples

// 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

docs

access-control.md

authentication.md

csrf.md

filter-chain.md

firewall.md

index.md

reactive.md

security-context.md

session-management.md

utilities.md

tile.json