使用CDI时的EJB 3.1安全授权

时间:2012-01-23 15:08:22

标签: ejb ejb-3.0 cdi ejb-3.1

在EJB中,为了安全认证和授权,我找到了一个使用jndi的常用方法,如下所示,

properties.put(Context.SECURITY_PRINCIPAL, "username");
properties.put(Context.SECURITY_CREDENTIALS, "password");
Context ctx = new InitialContext(properties);
Object ref = jndiContext.lookup("SecureBean/remote");
SecureRemoteBusiness remote = (SecureRemoteBusiness)ref;

问题:我想知道在使用DI时是否有任何方法可以实现这一点,而不使用任何外部CDI框架。如果唯一的选择是使用外部CDI框架,请提供一个示例或参考。

1 个答案:

答案 0 :(得分:1)

任何Java EE规范中都没有真正解决完整身份验证和授权漏洞的问题,这就是Spring Security,Apache Shiro,JBoss Picketlink等存在的原因。

关于你的问题,不,没有任何方法可以在不使用外部框架的情况下实现这一目标。正如Gonzalo Garcia Lasurtegui所提到的,任何你会发现的东西都是服务器专有的。