1

获取 Spring Security Context 来确定当前登录用户的“标准”方式(AFAIK)是:

User user = (User) SecurityContextHolder.getContext()
                .getAuthentication().getPrincipal();

但是,如果我在 JMS 消息驱动 Pojo (MDP) 中运行相同的代码,则上下文为空。

这是有道理的,因为 JMS 事件不一定发生在安全上下文所在的会话中。

但是既然是这种情况,是否有一种(标准)方法可以将安全性传播到 MDP,或者有一种方法可以将其注入到 MDP 中?

谢谢,罗伊

4

1 回答 1

1

看起来你不能。会话/安全性所需的任何内容都必须放在消息本身中,可能在标题中。

于 2013-12-02T22:47:31.340 回答