Domanda

È possibile utilizzare le autorizzazioni basate sulle rivendicazioni per proteggere i campi EF utilizzando Posta Sharp.Abbiamo un'app multi-tenante che stiamo spostando secondo le rivendicazioni e hanno anche problemi di chi può leggere / scrivere su quali campi.Ho visto questo ma sembra basato sul ruolo http://www.postsharp.net/aspects/examples/security.

Per quanto posso vedere sarebbe un caso di riscrivere la parte iscetisurabile.

Stiamo sperando di essere in grado di decorare un campo con un permesso e ignorare silenziosamente qualsiasi scrittura se se l'utente non ha avuto il permesso.Stavamo anche saltando che se lo leggono, potremmo scambiare in un altro valore ad es.Leggi lo stipendio e tornare indietro 0 se non hai un reclamo legge.

sono questi tipi standard di cose da fare che non ho mai fatto un AOP serio.Quindi voleva solo una rapida conferma prima di menzionare questo come opzione.

È stato utile?

Soluzione

Sì, è possibile utilizzare PossSharp in questo caso e dovrebbe essere piuttosto facile convertire un dato esempio da RBAC alle rivendicazioni basate.

Una cosa che deve essere considerata è prestazione.Quando i campi decorati sono accessibili frequentemente durante l'elaborazione di un caso d'uso (ad esempio vengono letti all'interno di un ciclo), quindi un sacco di tempo viene sprecato in controlli di sicurezza ridondanti.Decorare un metodo che rappresenta il caso dell'uso dell'utente finale sarebbe più appropriato.

Avrei paura di scambiare silenziosamente i valori dei campi quando l'utente ha un permesso insufficiente.Potrebbe portare ad alcuni risultati molto sorprendenti quando un algoritmo viene alimentato da dati non previsti artificiali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top