Chi dovrebbe essere affidabile per il controllo delle autorizzazioni in un'app Web?

0

Sto lavorando a un progetto in cui disponi di controller che espongono un'API e servizi che implementano una logica.

In questo progetto, ciascun servizio * verifica le autorizzazioni dell'utente per utilizzare il servizio.

Quando viene richiesto, mi viene detto che rende la vita più facile ai consumatori del servizio perché non devono preoccuparsi delle autorizzazioni.

Il codice in questo disegno sembra così

@Post
@Path('/addItem')
public Response addItem(@RequestBody Item item){
    itemHandler.add(item); // this call actually does the permissions verification
}

Tuttavia, ho familiarità con un altro progetto in cui i controllori sono responsabili del controllo dei permessi prima di attivare il servizio.

Questo design mantiene i servizi semplici e inconsapevoli di qualsiasi meccanismo di autorizzazione e la responsabilità per la sicurezza ricade sul consumatore.

@Post
@Path('/addItem')
public Response addItem(@RequestBody Item item, Request request){
    if (hasPermissions(request)){
        itemHandler.add(item);  // is not concerned/aware of permissions. 
    }
}

Suppongo che ci siano pro e contro per ciascuno. Sto cercando di trovare più materiale sull'argomento per decidere se lo stato corrente nel progetto richiede o meno il cambiamento.

Servizio

* - che indica un oggetto che stiamo invocando.

    
posta guy mograbi 21.06.2016 - 14:23
fonte

0 risposte

Leggi altre domande sui tag