Apache Shiro - Criar realm Shiro através de Data Source JDNI do Glassfish

Boa tarde pessoal.

Estou aprendendo a usar o Apache Shiro para fazer a segurança de um projeto que estou desenvolvendo com JSF 2 + Hibernate + EJB 3.1 + Glassfish 3.1.1.

No entanto só vi como configurar uma fonte de dados sendo o arquivo shiro.ini.

Gostaria de saber se alguém sabe informar se é possível reutilizar o Data Source JNDI criado no Glassfish para me conectar a minha fonte de dados? Se souber informar um exemplo tbm seria útil.

Att.

tbm gostaria de saber
me falaram bem dele…

preferi continuar o projeto com Spring security msm (JSF 2.1, JPA /Hibernate, EJB3.1, Servidor GF 3.1.x)
até agora nao tenho do que reclamar

Cara, não consegui encontrar essa solução para o Apache Shiro, daí decidi mudar a parte de segurança para o Spring Security, mas ainda assim não tou sabendo como configurar para obter o meu data source jndi no applicationContext.xml. Andei olhando alguns blogs e defini a seguinte configuração, mas sem êxito. Você pode me fornecer algum auxílio?

applicationContext.xml

[code]<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/security"
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:b="http://www.springframework.org/schema/beans"
xsi:schemaLocation=“http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd”>

<http auto-config="true" use-expressions="true">
	<intercept-url pattern="/index.jsf" access="hasRole('ROLE_USER')" />
	<form-login login-page="/login.xhtml"	authentication-failure-url="/login.xhtml" />
</http>
<!-- Essa tag define usuários e suas autorizações na aplicação -->
<authentication-manager> 
	<authentication-provider>
		<jdbc-user-service data-source-ref="dataSource"
			users-by-username-query="SELECT username, password, enable FROM usuario WHERE username=?"
			authorities-by-username-query="SELECT Usuario_username as username, autorizacoes_nome as authority FROM usuario_autorizacao WHERE Usuario_username=?" />
	</authentication-provider>
</authentication-manager>

<b:bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
    <b:property name="jndiName" value="jdbc/mySql" />  
</b:bean>

</b:beans>[/code]

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
	http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
	version="1.0">

	<persistence-unit name="piloto_PU" transaction-type="JTA">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>jdbc/mySql</jta-data-source>

		<properties>
		<!-- 
			<property name="hibernate.show_sql" value="true" />
		 -->
			<property name="hibernate.format_sql" value="true" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.dialect"
				value="org.hibernate.dialect.MySQL5InnoDBDialect" />
		</properties>
	</persistence-unit>
</persistence>