Implementazione di autenticazione di base / digest in codice server Java / server Web
-
13-12-2019 - |
Domanda
Dobbiamo supportare l'autenticazione di base e la successiva autenticazione digest nel progetto Web Java. Il mio dubbio è
- .
- Se l'autenticazione di base / digest è una configurazione nel server Web (Tomcat, JBoss ecc.). I nostri utenti / password sono in un database SQL e noi prendili attraverso i dataServices.In questo caso come posso configurare il Server Web per utilizzare i dati DataServices per autenticare?
- Se ho bisogno di gestire esplicitamente nel codice per Basic / Digest autenticazione?Come riceverò la richiesta di autenticazione da Servlet e si connetterà a DataServices per l'autenticazione?
Soluzione
L'autenticazione di base e digest è coperta dalle specifiche del servlet.Leggi la specifica o Questo tutorial per sapere come funziona. .
Dove vengono memorizzate le credenziali e come vengono controllate è a discrezione di ciascun contenitore, però.Tomcat supporta una varietà di implementazioni ream (basata su file, JDBCBasato, basato su LDAP, ecc.) Non so per JBoss.
Altri suggerimenti
In Java EE Security è di default dichiarativa. Ciò significa che specifichi solo quali risorse vorresti essere protetta tramite un concetto astratto chiamato Role
.
Aggiunta alla risposta di JB Nizet, JBoss come moduli di accesso specifici (approssimativamente equivalenti alle implementazioni del Regno di Tomcat) sono disponibili qui: http://docs.jboss.org/jbosssecurity/docs/6.0/security_guide/html/login_modules.html
Sorprendentemente sconosciuto a molti (come sembra), Java EE 6 supporta anche i moduli di autenticazione standard . Questi sono basati su JDBC basati su file, ecc. Che sono normalmente considerati come server applicazioni / contenitore specifico.
Questo è fatto tramite il cosiddetto Jaspic API (AKA Jaspi, Aka JSR 196) , vedi ad esempio:
- .
- jboss AS7: Abilitando l'autenticazione Jaspi per le applicazioni Web
- Implementazione di un fornitore di autenticazione personalizzato utilizzando Jaspi
- autenticazione collegabile nella rete Web di Glassfish
Sfortunatamente l'adozione di Jaspic / Jaspi / JSR 196 sembra spiegata al meglio. Per il momento le persone sembrano fidarsi dei regni specifici, dei moduli di accesso e cosa hai molto meglio, o non sono a conoscenza delle alternative.