Apache Shiro - Criar realm Shiro através de Data Source JDNI do Glassfish
2 respostas
Fernando_Mateus
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.
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
Fernando_Mateus
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
<?xml version="1.0" encoding="UTF-8"?><b:beansxmlns="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"><httpauto-config="true"use-expressions="true"><intercept-urlpattern="/index.jsf"access="hasRole('ROLE_USER')"/><form-loginlogin-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-servicedata-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:beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean"><b:propertyname="jndiName"value="jdbc/mySql"/></b:bean></b:beans>