EJBAccessException: Authorization failure acessando EJB externo - JAAS

1 resposta
B

Olá pessoal,

Utilizo o JAAS para definir autorização no acesso à alguns EJB´s (EJB3). Antigamente, como usava uma aplicação cliente no mesmo servidor da aplicação com os EJB´s, bastava configurar no descritor o papel que esta aplicação cliente possui para determinados acessos EJB´s.

Atualmente, os EJB´s devem ser acessados através do JBoss e a aplicação cliente roda no Weblogic 10. Utilizo uma configuração no applicationContext do Spring configurando o acesso ao EJB da seguinte maneira:

<bean id="JBossJndiProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
		<property name="properties">
			<props>
				<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
				<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
				<prop key="java.naming.provider.url">jnp://localhost:1099</prop>
			</props>
		</property>
	</bean>
	
	<bean id="EjbRemoto" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName" value="/app-EAR/EjbRemoto/remote" />
		<property name="jndiEnvironment">
			<ref bean="JBossJndiProperties"/>
		</property>
	</bean>

Porém, recebo a exceção sinalizada no título deste tópico. Como devo configurar para que esta aplicação possua o papel necessário, dada esta arquitetura?

Obrigado pela atenção :)

1 Resposta

B

Bom, pesquisando pelo google, descobri que trocando por <prop key="java.naming.factory.initial">org.jboss.security.jndi.JndiLoginInitialContextFactory</prop> o jboss responde no console que não conseguiu processar o acesso ao EJB, dando a seguinte exceção:

ERROR [UsersRolesLoginModule] Failed to load users/passwords/role files java.io.IOException: No properties file: users.properties or defaults: defaultUsers.properties found

Devo criar um destes arquivos .properties no classpath no pacote EJB? Ou em alguma pasta do JBoss?

Criado 12 de março de 2010
Ultima resposta 12 de mar. de 2010
Respostas 1
Participantes 1