public final class AuthenticationPrincipalArgumentResolver
extends java.lang.Object
implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverAuthenticationPrincipal アノテーションを使用して Authentication.getPrincipal() を解決できます。例: 次の Controller:
@Controller
public class MyController {
@MessageMapping("/im")
public void im(@AuthenticationPrincipal CustomUser customUser) {
// do something with CustomUser
}
}
SecurityContextHolder から 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
}
}
| コンストラクターと説明 |
|---|
AuthenticationPrincipalArgumentResolver() |
| 修飾子と型 | メソッドと説明 |
|---|---|
java.lang.Object | resolveArgument(org.springframework.core.MethodParameter parameter, org.springframework.messaging.Message<?> message) |
boolean | supportsParameter(org.springframework.core.MethodParameter parameter) |
public boolean supportsParameter(org.springframework.core.MethodParameter parameter)
org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver 内の supportsParameter public java.lang.Object resolveArgument(org.springframework.core.MethodParameter parameter,
org.springframework.messaging.Message<?> message)org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver 内の resolveArgument