Method Security in Spring Security 7: @PreAuthorize, @PostAuthorize and the Proxy Traps
@PreAuthorize is advice on a proxy, and there are three ways a call reaches an annotated method without the check ever running — self-invocation, methods the proxy cannot override, and @PreFilter handed an immutable collection. A verified tour of Spring Security 7.1 method security: the full SpEL reference, filterObject, interceptor ordering against @Transactional, and the tests that catch a check that silently is not there. Every transcript comes from a runnable companion repository.