dezone

Just another dezone weblog

ACL & xpath

E’ possibile utilizzare xpath nelle ACL? Si, se le si vedono le regole di applicazione dei permessi come delle regole di distribuzione di attributi degli elementi xml con un preciso valore in cui l’insieme degli elementi è determinato da un xpath.

Io e il mio amico V. abbiamo sperimentato questo sistema per la determinazione dei permessi in un repository di documenti accessibile via web. Il repository, organizzato come un filesystem con una root e un insieme di cartelle nidificate contenenti i documenti, veniva rappresentato come albero un xml. E’ facile intuire la struttura di questo albero, per cui non sto a spiegarvelo. In ogni nodo rappresentante una directory collocavamo un metadato contenente le ACL definite tramite xpath valutati a partire dal nodo stesso, con unico vincolo l’impossibilità di salire verso la radice nell’applicazione dei permessi. Per valutare correttamente i permessi nello stesso albero, in un ramo a parte, abbiamo aggiunto le informazioni di contesto, come quelle sull’utente che accede, sulle proprietà significative dal punto di vista applicativo, come ad esempio il ruolo dell’utente, il tipo di contratto d’uso ed eventuali relazioni con altri utenti.

Il sistema permette di definire regole molto complesse. Ad esempio, applica il permesso “w” a quei nodi la cui proprietà “tipo” è directory e la cui proprietà “nome” è “pubblica”, se l’utente corrente è un “promotore” ed è in relazione “promotore-cliente” col proprietario dei nodi selezionati. La complessità delle regole è limitata dalla fantasia.

Questo sistema però un difetto riscontrato: fa venire il mal di testa.

Insomma, definire le regole in questo modo saranno pure estremamente più espressive di quanto normalmente si è abituati ad usare, ma la sintassi di xpath e la complessità delle interazioni tra i nodi dell’albero rendono il sistema non proprio alla portata di tutti. Soprattutto, non è alla portata di quelli inclini al mal di testa.

17 Settembre, 2007 - Pubblicato da fdigiuseppe | sviluppo, xml, xpath, xslt | | Ancora nessun commento.

Non c’è ancora nessun commento.

Lascia un commento