gpt4 book ai didi

java - 将 WSSecurityPolicy 与 CXF callbackHandlers 结合使用时,如何存储请求者身份,

转载 作者:行者123 更新时间:2023-12-01 12:46:40 26 4
gpt4 key购买 nike

当使用CallBackHandler(从javax.security.auth.callback.CallbackHandler实现)来验证UsernameToken时,如何存储请求者的身份以供以后使用?

我的用例是用户 A 请求 method1 并接收特定于用户 A 的数据。用户 B 请求 method1 并接收特定于用户 B 的数据。

我在返回响应之前使用 Camel 来处理请求,但我需要能够跟踪请求者是谁。

最佳答案

您应该能够使用 Exchange.AUTHENTICATION key 查找主题。下面的代码向您展示了camel如何将UserPrincipal从cxf消息存储到camel消息头。

    // propagate the security subject from CXF security context
SecurityContext securityContext = cxfMessage.get(SecurityContext.class);
if (securityContext != null && securityContext.getUserPrincipal() != null) {
Subject subject = new Subject();
subject.getPrincipals().add(securityContext.getUserPrincipal());
camelExchange.getIn().getHeaders().put(Exchange.AUTHENTICATION, subject);
}

关于java - 将 WSSecurityPolicy 与 CXF callbackHandlers 结合使用时,如何存储请求者身份,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24640666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com