EJB3&JAAS主题/主体如何从servlet容器传播到EJB层?

Pla*_*own 3 java jaas java-ee ejb-3.0 java-ee-5

我试图了解JAAS主体如何从Web层传播到Business/EJB层.

我已经读过如果在web.xml的login-configsecurity-context中配置了roles/realm ,那么servlet容器也会透明地将经过身份验证的主体传递给EJB层.

两个问题
1.)首先,更重要的是真的吗?没有开发人员的任何干预!
2.)其次,任何想法如何在引擎盖下工作.

jta*_*orn 5

  1. 对,是真的.这通常是ejb的重点,将"硬"东西从开发人员手中夺走(例如安全性,事务,健壮性,多线程等)
  2. 它依赖于实现.我知道在jboss(至少4.x及之前)中,远程方法调用使用了一个自定义序列化协议,该协议有一个额外的任意信息Map,可以与请求一起发送.在这是auth信息以及支持群集的其他东西.对于本地方法调用,我相信他们使用像ThreadLocals这样的东西.