如何将安全性传播到我的独立Web服务企业应用程序?

时间:2010-03-27 08:15:30

标签: java security

我创建了一个简单的Web应用程序,其中包含Web页面和一个企业应用程序,其中包含Web应用程序的Web服务和EJB。我设法为我的Web应用程序配置安全性。但是现在我如何在EJB方法方法上将此安全性传播到我的企业应用程序?所以我可以使用@RolesAllowed(“”)等注释吗?

1 个答案:

答案 0 :(得分:0)

在您的Web应用程序中,当您通过JNDI搜索bean时,您必须将用户/密码信息传递给InitialContext构造函数(代码来自:http://schuchert.wikispaces.com/EJB3+Tutorial+6+-+Security

public InitialContext getInitialContextFor(final String user,
            final String password) throws NamingException {
        final Properties p = new Properties();
        p.setProperty(Context.SECURITY_PRINCIPAL, user);
        p.setProperty(Context.SECURITY_CREDENTIALS, password);
        p.setProperty(Context.INITIAL_CONTEXT_FACTORY,
                "org.jboss.security.jndi.JndiLoginInitialContextFactory");
        return new InitialContext(p);
}

如果您希望自己的网络应用容器为您自动执行 - 我不知道该怎么做。

顺便说一句 - 您是否在Web应用程序和ejbs中使用相同的容器?