Domanda

Sono completamente nuovo per accesso e autenticazione concetti. Sto lavorando su un'applicazione web Glassfish che dovrebbe presentare il contenuto generale a qualsiasi visitatore, e alcuni contenuti extra per gli utenti registrati collegato con username e password.

Ho letto il tutorial Java EE per la sicurezza, e ho pensato che la forma o basato su HTTP di autenticazione sarebbe soddisfare le mie esigenze (il visitatore viene chiesto le credenziali quando si cerca di sfogliare un contenuto protetto).

Tuttavia, la mia prima ipotesi era che gli utenti registrato devono essere conservati in un database esterno con il loro hash e password salata. La sicurezza per l'applicazione web in Glassfish sembra basarsi su regno popolato manualmente direttamente sul server di applicazioni (la definizione di utenti e gruppi e la mappatura dei ruoli nell'applicazione).

Ti ho frainteso quello della sicurezza sul Glassfish è intented a? Oppure può essere un regno di un database esterno al di fuori del server di applicazione? Qualsiasi link a documentazione su questo argomento sarebbe utile per me.

Grazie in anticipo

Tart

È stato utile?

Soluzione

In realtà è possibile. In Glassfish, passare a Configurazione / Sicurezza / Realms, creare un nuovo regno e impostare il nome di classe a com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm. Indicate la risorsa JDBC legato al database, e indicare la tabella e le colonne in cui sono memorizzati nome utente / password. La base di dati contiene anche un tavolo per i gruppi di cui l'utente deve appartenere a concedere l'accesso. Indicare anche quelli.

Nella domanda, impostare il web.xml e sole-web.xml con il nome di dominio, come al solito.

Altri suggerimenti

Ecco un articolo su reame JDBC in GlassFish con lo scenario che hai descritto: http://java-cookbook.blogspot.com/2011/02/jdbc-security-realm-with-glassfish-and.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top