确定当前登录用户的Spring安全上下文的“标准”方式(AFAIK)是:
User user = (User) SecurityContextHolder.getContext()
.getAuthentication().getPrincipal();
但是,如果我在JMS消息驱动Pojo(MDP)中运行相同的代码,则上下文为空。
这是有道理的,因为JMS事件不一定发生在会话中,这是安全上下文所在的会话。
但是既然如此,是否有(标准)方式将安全性传播到MDP,或者是将其注入MDP的方式?
谢谢, 罗伊
答案 0 :(得分:1)
看起来你不能。会话/安全性所需的任何内容都必须放在消息本身上,可能是在标题中。