Springbeans中的JavaEJB3会话上下文
背景:
我正在使用java安全性使用编程身份验证(基本身份验证)。 我有一个无状态会话bean(EJB3)。我可以注入Sessioncontext来获取安全主体,获取用户名。 在同一个项目中,我将Springbeans用于JDBC和Aspect。我想在一个方面(审计)中获取用户名,这也是一个Springbean
问题:
可以在Springbean中访问ejb SessionContext吗。如果是这样,怎么做? 如果不是,那么如何从Springbean访问用户名,这也是一个方面
谢谢, 阿米特
# 1 楼答案
科洛索斯,谢谢你的回复。 我可以找到另一种方法。以下是指向previous post的链接。所以基本上我做了完全相同的事情: 1) 在spring上下文xml中添加了以下行
2)在MySpringbean中添加了以下行以访问EJB的会话上下文
重要的是Jboss 7.1不再支持自定义jndi,这与Jboss 5不同,因此我使用了默认jndi强>
我认为这是一种更简洁的方式来满足我的需求
# 2 楼答案
这可以通过将EJB注入Springbean来实现。您可以通过手动JNDI查找(就像在任何其他EJB客户机中一样)或使用Spring的JndiObjectFactoryBean来完成。使用Spring的JndiObjectFactoryBean:
将
SessionContext
注入EJB在bean配置文件中配置工厂bean
postageService
是我们感兴趣的EJBRef(从Apress-Spring配方中挖出的配置)将ejb引用连接到Springbean中