JDBCRealm
Per proteggere pagine o applicazioni Web, è possibile impostare la sicurezza in modo da limitare l'accesso a tali elementi solo agli utenti registrati. Questa funzione è nota come risorsa di autenticazione. Questo tipo di realm implica la memorizzazione delle credenziali degli utenti in un database. GlassFish Server utilizza le informazioni del database e l'opzione del realm JDBC abilitata nel file di configurazione.
Le proprietà riportate di seguito sono necessarie per un realm JDBC.
Contesto JAAS (Java Authentication and Authorization Service): l'identificativo del modulo di login da utilizzare per questo realm. L'unico valore valido è jdbcRealm
.
Nome JNDI per questo realm. Il valore predefinito è jdbc/security
.
Tabella che contiene una lista di utenti autorizzati per questo realm. Il valore predefinito è usertable
.
Nome della colonna che contiene la lista di utenti nella tabella utente. Il valore predefinito è userid
.
Nome della colonna che contiene la password dell'utente corrispondente nella tabella utente. Il valore predefinito è password
.
Nome della tabella dei gruppi nel database. Il valore predefinito è grouptable
.
Nome della colonna relativa ai nomi dei gruppi nella tabella gruppi del database. Il valore predefinito è groupid
.
Per un realm JDBC sono disponibili le proprietà opzionali riportate di seguito.
Lista di valori separati da virgole di nomi di gruppi. Tutti i client con certificati validi vengono assegnati a questi gruppi, ad esempio employee,manager
, dove questi sono i nomi dei gruppi di utenti.
Consente di specificare il nome utente del database nel realm anziché utilizzare la configurazione jdbc-connection-pool
. In tal modo, si impedisce ad altre applicazioni di eseguire ricerche nel database, stabilire una connessione e sfogliare la tabella utenti. Per impostazione predefinita, viene utilizzata la configurazione jdbc-connection-pool
.
Consente di specificare la password del database nel realm anziché utilizzare la configurazione jdbc-connection-pool
. In tal modo, si impedisce ad altre applicazioni di eseguire ricerche nel database, stabilire una connessione e sfogliare la tabella utenti. Per impostazione predefinita, viene utilizzata la configurazione jdbc-connection-pool
.
(Facoltativo) Specifica l'algoritmo Digest. Il valore predefinito è SHA-256
. È possibile usare qualsiasi algoritmo supportato nel JDK o non usarne alcuno.
Nota:
Nelle versioni di GlassFish Server precedenti alla 3.1.2 l'algoritmo predefinito eraMD5
. In presenza di applicazioni che dipendono dall'algoritmo MD5
, è possibile sostituire l'algoritmo predefinito SHA-25
utilizzando il comando secondario asadmin set
:
asadmin> set server.security-service.property.default-digest-algorithm=MD5
Per determinare l'algoritmo attualmente in uso, utilizzare il comando secondario asadmin get
:
asadmin> get server.security-service.property.default-digest-algorithm
Si noti inoltre che, al fine di mantenere la compatibilità con le versioni precedenti, se viene eseguito un aggiornamento da GlassFish Server v2.x o v3.0.x a GlassFish Server 3.1.2, l'algoritmo predefinito viene automaticamente impostato su MD5
nei casi in cui l'algoritmo Digest non sia stato impostato esplicitamente nella versione precedente di GlassFish Server.
Codifica. I valori consentiti sono Hex
e Base64
. Se viene specificato digest-algorithm
, il valore predefinito è Hex
. Se non è stato specificato digest-algorithm
, per impostazione predefinita non viene specificata alcuna codifica.
Algoritmo per la cifratura delle password memorizzate nel database.
Nota:
La mancata specifica di un algoritmo di cifratura della password costituisce un rischio per la sicurezza.Set di caratteri per l'algoritmo digest.