Ho seguito lo instructions per creare un ambito di sicurezza personalizzato per il mio glassfish. Funziona tutto bene, gli utenti sono autenticati correttamente. Il problema però è la seguente:Come utilizzare un principal personalizzato in un ambito di sicurezza personalizzato (Glassfish)?
- Le credenziali dell'utente sono criptati in una stringa
- Il regno decifra questa stringa ed esegue l'autenticazione su un database (opere)
- Invece di usare i valori decifrati come principale in securityContext viene passata la stringa codificata .
Ho già provato a eseguire l'override del metodo commit() per sostituire il _userPrincipal
o allegare la mia implementazione utilizzando getSubject().getPrincipals().add(new PrincipalImpl("user"))
. Nessuno dei due stava funzionando come previsto. Fondamentalmente la domanda è semplice come questa: come posso impostare il mio principale in un regno di sicurezza personalizzato in glassfish in un modo che permetta di usarlo insieme a un securityContext iniettato?
Il mio ambiente:
- Glassfish 3.1.2.2 (Build 5) Profilo completa
- l'applicazione in esecuzione dietro l'autenticazione è un JAX-RS 1.1 applicazione basata
- Il SecurityContext si ottiene utilizzando l'iniezione
Poiché la domanda è stata posta 10 mesi fa, non posso nemmeno dirvi più quali errori abbiamo avuto. Sfortunatamente non sarò in grado di testare i tuoi approcci perché abbiamo usato una soluzione diversa. Ma dal momento che hai fatto lo sforzo di cercare di rispondere a una domanda così antica, inviterò comunque la tua risposta :) – Kai