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>