/ / Prestazioni dell'ACL di Spring Security: java, performance, spring-security

Prestazioni dell'ACL di Spring Security: java, prestazioni, sicurezza di primavera

Sono attualmente in fase di testL'Access Control List di Spring Security e dopo aver letto i concetti chiave, qualcosa ha attirato la mia attenzione: esiste una tabella (ACL_ENTRY) che memorizza l'autorizzazione individuale per ogni singola istanza di oggetto dominio per ogni entità (supponendo che l'entità abbia accesso a quell'istanza In un sistema di grandi dimensioni con molti utenti e molti oggetti di dominio, possiamo facilmente immaginare che ci saranno molti record in quella tabella, che verranno probabilmente interrogati molto spesso (quando un'istanza di un oggetto di dominio viene caricata, creata , aggiornato, ecc.).
Ora, con questo in mente, mi chiedo come le prestazioni potrebbero essere influenzate. Qualcuno ha esperienza in questo? Qualche feedback?

risposte:

1 per risposta № 1

In realtà ho appena finito di implementare un similefunzione su un'applicazione quasi in tempo reale. Se si memorizzano nella cache le voci ACL e i risultati della query che li recupera (diciamo solo interrogandoli una volta ogni ora) Migliorerà notevolmente. Il collo di bottiglia qui sarebbe come recuperare le autorizzazioni non l'effettiva logica di autorizzazione. Sebbene la logica di autorizzazione abbia un impatto del corso, ma se si affrontano oggetti di memoria, dovrebbe essere accettabile anche per le applicazioni in tempo reale.


1 per risposta № 2

Potresti voler controllare come Apache Shiro maniglie permessi - Shiro ha un sacco di implementazioni ridimensionate