Spring Security 4 + JSF | .jdbcAuthentication não funciona (HELP)

Pessoal estou tentando configurar minha aplicação para utilizar: JSF 2.2 + WELD + Spring Security 4 + Hibernate 5
No site do Spring, é dito que você pode utilizar o módulo de segurança sem precisar do módulo WebMVC ou qualquer outro módulo Spring Acoplado.

Consegui fazer a autenticação funcionar com o famoso .inMemoryAuthentication() mas é lógico que preciso
trazer essas informações de um banco de dados.

Existe uma forma de autenticar que é utilizando o .jdbcAuthentication(), para isso basta que você siga as regras
se colunas nas query e que você tenha um unico parametro chamado: username

Reparem que é necessário informar um DataSource e é ai que o problema começa.

No primeiro momento criei um Datasource no Tomcat 8 configurando o context.xml e web.xml da minha aplicação

Para fazer uso do Spring Security precisei criar duas classes basicamente, uma que habilita os filtros do spring automaticamente e outra que cuida da parte de segurança propriamente dita. Mas a frente vocês verão as classes.

Voltando ao problema :slight_smile:

Se eu preciso de um DataSource e os contextos entre CDI e Spring são distintos, não poderei fazer isso por @Inject do CDI.

Resolvi então criar o DataSource JNDI pois achei que resolveria meu problema o que não ocorreu.

E tentei utiliza-lo na minha classe SecurityConfig assim:
NÃO FUNCIONOU

Depois no desespero :slight_smile: , resolvi criar um DriverManagerDataSource do proprio Spring
por achar que eu estava esquecendo alguma coisa relativa aos contextos. Também não funcionou.

Minha última tentativa foi tentar criar um ApplicationContext para o Spring:
Também não funcionou.

Neste exato momento estou pensando em jogar meu laptop pela janela. :disappointed_relieved:
E assim fica relatado meu desespero para que outros colegas tentem ajudar ou não passem por coisa parecida.

OU

SecurityWebApplicationInitializer

SecurityConfig

web.xml

context.xml

POM.xml

Pessoal, alguém pode ajudar ?

Fala amigo, estou no mesmo dilema. Por ventura já conseguiu resolver???

Infelizmente parei de tentar na época… Preferi utilizar o picketlink que é amplamente compatível com o JAVA EE.

Conceitualmente ambos possuem filtros, roles , grupos e etc… A única coisa bem peculiar no picketlink, é a forma como ele faz a modelagem das entidades no banco.

Se achar a solução e quiser compartilhar aqui, agradeço. Vai ajudar muita gente e com certeza irei estuda-la.