クラス AuthenticationPrincipalArgumentResolver

  • 実装されたすべてのインターフェース:
    org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver

    public class AuthenticationPrincipalArgumentResolver
    extends java.lang.Object
    implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver
    AuthenticationPrincipal アノテーションを使用して Authentication.getPrincipal() を解決できます。例: 次の Controller:
     @Controller
     public class MyController {
         @MessageMapping("/im")
         public void im(@AuthenticationPrincipal CustomUser customUser) {
             // do something with CustomUser
         }
     }
     

    ReactiveSecurityContextHolder から Authentication.getPrincipal() を使用して CustomUser 引数を解決します。Authentication または Authentication.getPrincipal() が null の場合、null を返します。型が一致しない場合、AuthenticationPrincipal.errorOnInvalidType() が true でない限り null が返され、その場合は ClassCastException がスローされます。

    または、ユーザーは以下に示すようにカスタムメタアノテーションを作成できます。

     @Target({ ElementType.PARAMETER })
     @Retention(RetentionPolicy.RUNTIME)
     @AuthenticationPrincipal
     public @interface CurrentUser {
     }
     

    代わりにカスタムアノテーションを使用できます。例:

     @Controller
     public class MyController {
         @MessageMapping("/im")
         public void im(@CurrentUser CustomUser customUser) {
             // do something with CustomUser
         }
     }
     
    導入:
    5.2
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      reactor.core.publisher.Mono<java.lang.Object>resolveArgument​(org.springframework.core.MethodParameter parameter, org.springframework.messaging.Message<?> message)
      voidsetAdapterRegistry​(org.springframework.core.ReactiveAdapterRegistry adapterRegistry)
      使用する ReactiveAdapterRegistry を設定します。
      voidsetBeanResolver​(org.springframework.expression.BeanResolver beanResolver)
      式で使用する BeanResolver を設定します
      booleansupportsParameter​(org.springframework.core.MethodParameter parameter)
      • クラス java.lang.Object から継承されたメソッド

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • コンストラクターの詳細

      • AuthenticationPrincipalArgumentResolver

        public AuthenticationPrincipalArgumentResolver()
    • メソッドの詳細

      • setBeanResolver

        public void setBeanResolver​(org.springframework.expression.BeanResolver beanResolver)
        式で使用する BeanResolver を設定します
        パラメーター:
        beanResolver - 使用する BeanResolver 
      • setAdapterRegistry

        public void setAdapterRegistry​(org.springframework.core.ReactiveAdapterRegistry adapterRegistry)
        使用する ReactiveAdapterRegistry を設定します。
        パラメーター:
        adapterRegistry - 使用する ReactiveAdapterRegistry null にすることはできません。デフォルトは ReactiveAdapterRegistry.getSharedInstance() です
      • supportsParameter

        public boolean supportsParameter​(org.springframework.core.MethodParameter parameter)
        次で指定:
        インターフェース org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolversupportsParameter 
      • resolveArgument

        public reactor.core.publisher.Mono<java.lang.Object> resolveArgument​(org.springframework.core.MethodParameter parameter,
                                                                             org.springframework.messaging.Message<?> message)
        次で指定:
        インターフェース org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolverresolveArgument