Class ReactiveSecurityContextHolderThreadLocalAccessor

java.lang.Object
org.springframework.security.core.context.ReactiveSecurityContextHolderThreadLocalAccessor
All Implemented Interfaces:
io.micrometer.context.ThreadLocalAccessor<reactor.core.publisher.Mono<SecurityContext>>

public final class ReactiveSecurityContextHolderThreadLocalAccessor extends Object implements io.micrometer.context.ThreadLocalAccessor<reactor.core.publisher.Mono<SecurityContext>>
A ThreadLocalAccessor for accessing a SecurityContext with the ReactiveSecurityContextHolder.

This class adapts the ReactiveSecurityContextHolder to the ThreadLocalAccessor contract to allow Micrometer Context Propagation to automatically propagate a SecurityContext in Reactive applications. It is automatically registered with the ContextRegistry through the ServiceLoader mechanism when context-propagation is on the classpath.

Since:
6.5
See Also:
  • ContextRegistry
  • Constructor Details

    • ReactiveSecurityContextHolderThreadLocalAccessor

      public ReactiveSecurityContextHolderThreadLocalAccessor()
  • Method Details

    • key

      public Object key()
      Specified by:
      key in interface io.micrometer.context.ThreadLocalAccessor<reactor.core.publisher.Mono<SecurityContext>>
    • getValue

      public reactor.core.publisher.Mono<SecurityContext> getValue()
      Specified by:
      getValue in interface io.micrometer.context.ThreadLocalAccessor<reactor.core.publisher.Mono<SecurityContext>>
    • setValue

      public void setValue(reactor.core.publisher.Mono<SecurityContext> securityContext)
      Specified by:
      setValue in interface io.micrometer.context.ThreadLocalAccessor<reactor.core.publisher.Mono<SecurityContext>>
    • setValue

      public void setValue()
      Specified by:
      setValue in interface io.micrometer.context.ThreadLocalAccessor<reactor.core.publisher.Mono<SecurityContext>>