1

交換しようとしているコントローラーは次のとおりです。

@RequestMapping("/user")
public @ResponseBody UserRsp callUserService(Principal principal) {
    String authenticatedUsername = principal.getName();
    return userService.getUser(authenticatedUsername);
}

サービス アダプタにマッピングされた int-http:inbound-gateway に置き換えたいと思います。これに関するドキュメントは見つかりませんが、やりたいことは次のようなものです。

<int-http:inbound-gateway
 request-channel="requests" 
reply-channel="replies" 
path="/user" 
view-name="/user" 
payload-expression="#payload.principal.name"
supported-methods="GET"/>

しかし、payload.principal は私が作ったものです。これを行う正しい方法に関するアイデアはありますか?

4

1 に答える 1

1

Spring Security を使用していると仮定すると、このようなものが機能するはずです...

payload-expression="T(org.springframework.security.core.context.SecurityContextHolder).context.authentication.principal"
于 2012-07-12T22:46:03.543 に答える