15.06.2013 Views

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Così posso implementare la canInvoke semplicemente.<br />

Carnielli Efrem: Programmazione a componenti<br />

Applicazioni Client-Server e database<br />

6.9.5 Garantire sicurezza <strong>di</strong> secondo livello: Jboss<br />

Abbiamo visto come risolvere la sicurezza <strong>di</strong> primo livello; ora richiamiamo la<br />

sicurezza <strong>di</strong> secondo livello e ve<strong>di</strong>amo come può essere risolta.<br />

Il me<strong>di</strong>co <strong>di</strong> me<strong>di</strong>c<strong>in</strong>a generale ha accesso alla nostra cartella cl<strong>in</strong>ica. In un sistema<br />

<strong>in</strong>formativo per me<strong>di</strong>ci ci sarà la voce “accesso cartella cl<strong>in</strong>ica”.<br />

Nella tabella precedente potrò spuntare <strong>in</strong> corrispondenza dell’<strong>in</strong>crocio tra il<br />

metodo “accesso cartella cl<strong>in</strong>ica” e il ruolo “me<strong>di</strong>co” impedendo ad utenti non<br />

me<strong>di</strong>ci <strong>di</strong> poter accedere alle cartelle.<br />

Un me<strong>di</strong>co però può accedere solo alle cartelle cl<strong>in</strong>iche dei suoi pazienti e non a<br />

quelle <strong>di</strong> altri. Assicurare questo significa assicurare sicurezza applicativa <strong>di</strong><br />

secondo livello.<br />

Qu<strong>in</strong><strong>di</strong> nel corpo del metodo “accesso cartella cl<strong>in</strong>ica” dovrò chiedermi se il<br />

me<strong>di</strong>co <strong>in</strong> questione che ha chiesto l’accesso può farlo oppure no a seconda che<br />

siano o no suoi pazienti.<br />

Supponiamo che il me<strong>di</strong>co vada <strong>in</strong> ferie. Arriva un nuovo sostituto che può<br />

accedere alla cartella temporaneamente. Posso mettere un altro controllo nel<br />

metodo.<br />

Tuttavia non è corretto, ad esempio, che il me<strong>di</strong>co sostituto possa accedere a dati<br />

critici. Anche queste aggiunte fanno parte della sicurezza <strong>di</strong> secondo livello, ma il<br />

metodo scelto non è buono perchè consiste <strong>di</strong> mo<strong>di</strong>ficare <strong>di</strong> cont<strong>in</strong>uo il co<strong>di</strong>ce con<br />

test.<br />

In sostanza per garantire la sicurezza applicativa <strong>di</strong> secondo livello devo verificare<br />

se il soggetto che impersona quel ruolo può accedere a determ<strong>in</strong>ati meto<strong>di</strong> e cosa<br />

può fare <strong>di</strong> quei meto<strong>di</strong>.<br />

Ma va fatto fuori.<br />

Lo sviluppatore quando implementa il metodo h deve <strong>di</strong>s<strong>in</strong>teressarsi<br />

completamente della sicurezza relativa.<br />

Devo prevedere esternamente un sistema a regole <strong>in</strong>vocabili <strong>in</strong> qualche modo.<br />

Potrei utilizzare un checker come <strong>in</strong> figura sotto.<br />

156

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!