Verifica delle autorizzazioni con più chiamate al database o in stored procedure?

0

Sto sviluppando un'APP con API e un database che contiene, tra le altre cose, permessi utente e progetti utente.

Alcune stored procedure devono essere protette e per questo devo controllare gli ambiti disponibili per l'utente.

Devo controllare le autorizzazioni utente all'interno delle stored procedure (chiamando un secondo proc o una funzione che controlla se l'utente ha un determinato scope) o devo fare due chiamate al database dal mio endpoint, una per controllare se l'utente ha il ambiti necessari e uno diverso per eseguire la procedura protetta?

    
posta Ivan Aguilar 19.10.2017 - 14:17
fonte

1 risposta

1

Ci sono diversi meccanismi che puoi usare per implementarlo, ma lascia che risponda genericamente alla domanda:

Practice Defense in Depth

In questo contesto, non solo vuoi essere sicuro che al chiamante non siano concesse le autorizzazioni a livello di database, vuoi ricontrollare all'interno della stored procedure. Il motivo è che, se uno strato di sicurezza fallisce, la tua stored procedure è ancora protetta.

Questo ha l'ulteriore vantaggio di effettuare una chiamata invece di due, risparmiando traffico di rete e migliorando il tempo di risposta.

    
risposta data 19.10.2017 - 15:21
fonte

Leggi altre domande sui tag