Design pattern per i privilegi di dati

2

Sto progettando un sistema finanziario che dovrebbe garantire l'accesso ai dati in base a ruoli e privilegi. Ad esempio, un gestore può vedere la transazione finanziaria degli utenti sotto il suo dominio ma non le informazioni relative ad altre transazioni. Sebbene sia possibile implementare ad-hoc mi chiedevo se ci sono schemi o linee guida per l'implementazione di tale strumentazione.

    
posta user49204 14.04.2013 - 20:31
fonte

2 risposte

4

Il Proxy Pattern ha pochi usi, uno è specificamente progettato per il controllo degli accessi. Il C2 Wiki ha anche una discussione sul Proxy Pattern e sulle sue varianti e in particolare su Protection Proxy .

Quando il client effettua una richiesta, viene inoltrato tramite il Proxy, che conterrà i controlli delle autorizzazioni e il controllo degli accessi. Se la richiesta è valida, i risultati verrebbero restituiti da RealSubject tramite il proxy.

    
risposta data 14.04.2013 - 20:36
fonte
2

Se stai progettando un nuovo sistema (al contrario del revamping di un dinosauro) potresti voler esaminare i sistemi di autenticazione basati sulle attestazioni. È molto versatile ed è il prossimo grande movimento di autenticazione. La sua implementazione si sta ora diffondendo su molte piattaforme e, a seconda delle tecnologie con cui si sceglie di lavorare, potrebbe anche avere supporto dall'applicazione, fino al back-end.

MODIFICA: un po 'più di informazioni.

Per quanto ne so, Microsoft è l'unica famiglia che integra il supporto dell'identità basato sulle attestazioni direttamente nel framework .NET tramite Windows Identity Foundation (WIF). Quello che intendo con la sua implementazione che si diffonde attraverso le piattaforme è che il modello di identità basato sulle attestazioni come modello di progettazione viene implementato su diverse piattaforme. In questo momento è per lo più tramite progetti open source o implementazioni personalizzate, ma il pattern è addirittura presente nel protocollo OAuth2.

L'idea dietro l'identità basata sulle attestazioni è che supporta la progettazione single sign-on e non impone che l'implementazione si basi su un singolo archivio utente. Penso che l'idea sia maturata originariamente dal design SAML Java. L'idea è che anziché l'applicazione che si basa su un utente che mantiene le credenziali strettamente con l'app host, consente di fornire credenziali di utenti da fonti "attendibili". Un reclamo è proprio questo. È una rivendicazione di qualcosa sull'utente da una fonte attendibile. Un'identità attenta alle richieste può contenere numerosi reclami, tutti di diversa natura e un reclamo può essere qualsiasi cosa ritenuta identificabile o un attributo che descrive l'utente (e-mail, indirizzo, paese, numero di telefono o molte altre possibilità). Queste attestazioni sono gestite tramite un Security Token Service, che funge da fonte attendibile.

Sto saltando alcuni punti qui al fine di mantenerlo breve e dolce, ma il motivo per cui ti ho suggerito l'idea è che il pattern può essere applicato a qualsiasi cosa che possa funzionare con le richieste http, quindi può essere lavorato in qualsiasi framework in grado di http.

Di seguito sono riportati due articoli solidi relativi ai modelli di identità basati sulle attestazioni. Il primo è un po 'datato (credo nel 2009) ma ha una spiegazione molto gentile e facile da capire del concetto. Il secondo è la descrizione microsoft della loro implementazione, il modello stesso e le discussioni su come utilizzare questo cross-realm. (È lungo ... lol ma vale la pena leggerlo)

link

link

Spero che questo aiuti e spunti alcune nuove idee:)

    
risposta data 15.04.2013 - 10:13
fonte

Leggi altre domande sui tag