Controlla l'accesso alle proprietà degli oggetti

1

Sono uno sviluppatore web front-end e attualmente affronta una situazione in cui ho un modulo con pochi parametri di un oggetto e per salvarli dovrei fare poche richieste a pochi endpoint API diversi. Dato che sono abituato all'ideologia REST, suppongo di avere solo una API per salvare una risorsa.

C'è qualche entità, qualche oggetto con un numero enorme di proprietà differenti e per aggiornarle ho circa 10 diversi endpoint API per ogni gruppo di proprietà. Questo ha portato a situazioni in cui ho un modulo con pochi parametri di un oggetto e per salvarli dovrei fare poche richieste a pochi endpoint API diversi e la mia natura resiste a quello che a me sembra un caos.

Come ho parlato con i miei colleghi, hanno spiegato che ciò avviene per motivi di sicurezza, in modo che alcuni utenti possano accedere ad alcuni endpoint API per aggiornare alcuni gruppi di proprietà degli oggetti. Tuttavia, non sono ancora d'accordo con la situazione in cui dovrei fare poche richieste per aggiornare un singolo oggetto.

quindi ecco le mie domande:

  1. Ho sentito parlare degli ACL, ma per quanto ne so essi controllano l'accesso agli oggetti, non alle proprietà dei singoli oggetti. Se ho torto, allora come possono essere usati gli ACL in questa situazione?
  2. Perché non può esserci un'unica API e quindi il server deciderà quale delle proprietà della richiesta deve essere aggiornata e quale no. Quindi tutto quel processo sarebbe trasparente per me - sviluppatore lato client?
  3. Se non è ACL, quali sono le architetture / le tecniche / gli approcci dovrebbero essere usati in questa situazione (nello sviluppo web)
posta SET 03.11.2016 - 23:49
fonte

1 risposta

1

I have heard about ACLs but as far as I understand they are to control access to objects, not to individual object's properties. If I'm wrong then how can ACLs' be used in such situation?

Accesso al controllo della lista di controllo di accesso alle risorse. Quelle risorse possono essere file cartelle, stampanti, chiavi di registro, servizi e oggetti yes. 1

Le proprietà degli oggetti individuali sono, beh, le risorse. Anche i comandi che usi per recuperarli sono risorse. Quindi non è che non puoi controllare le cose così finemente. È se puoi esporre la proprietà come risorsa.

Why can't be there single API and then server would decide which of properties from request should be updated and which not. So that whole that process would be transparent for me - client side developer?

Ci può. Se non esiste già qualcuno dovrà costruirlo. Non c'è motivo per cui qualcuno non possa essere te. Altrimenti chiedi a qualcun altro di risolvere i tuoi problemi. Se i tuoi problemi non sono i loro problemi, perché dovrebbero interessarli?

If not ACL then what are the architectures/techniques/approaches should be used in this situation (in web development)

Se ti ostini ad attaccarti esclusivamente allo sviluppo web, sei bloccato con qualsiasi accesso al back-end che i backend temono di esporre. Potresti provare a lavorare con loro, ma se fallisce e non lo fai, allora sei bloccato con l'API che hai.

Quello che puoi fare è astrarre l'API in modo da avere un modo semplice per usarlo. I linguaggi Web possono fare cose incredibili. Fare questo bene sarà una sfida se non ci si abitua. Non dovresti assumere che le prestazioni saranno un problema finché non sarà un problema. Questo non ti impedisce di gestire la brutta API. Ti consente di inserire la parte dell'API di cui hai bisogno in una scatola facile da usare. Devi solo costruire la scatola.

    
risposta data 04.11.2016 - 02:45
fonte

Leggi altre domande sui tag