02.06.2013 Views

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

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.

CAPITOLO IV - La <strong>sicurezza</strong> nelle web applications<br />

La classe Principal contiene le informazioni <strong>di</strong> protezione relative all’utente, sotto forma <strong>di</strong> un<br />

oggetto che implementa l’interfaccia IIdentity, e dei ruoli a cui lo stesso appartiene. È inoltre<br />

rappresentato da <strong>una</strong> serie <strong>di</strong> oggetti che implementano l’interfaccia IPrincipal.<br />

Identity rappresenta l’identità <strong>di</strong> un utente (WindowsIdentity, FormsIdentity, PassportIdentity,<br />

GenericIdentity).<br />

Principal ed Identity sono legati tra loro e variano a seconda del tipo <strong>di</strong> autenticazione<br />

utilizzato: nel caso dell’autenticazione Windows gli oggetti utilizzati saranno rispettivamente<br />

WindowsPrincipal e WindowsIdentity, mentre con Forms Authentication gli oggetti saranno<br />

GenericPrincipal e GenericIdentity.<br />

All’interno dell’identità dell’utente è dunque contenuta l’appartenenza ai ruoli, secondo le<br />

modalità specifiche del tipo <strong>di</strong> autenticazione.<br />

L’accesso a queste informazioni è regolato attraverso la proprietà User, che viene restituita sia<br />

attraverso la classe HttpContext, che <strong>di</strong>rettamente come proprietà <strong>della</strong> classe Page.<br />

Attraverso il metodo IsInRole si può verificare l’appartenenza ad un certo ruolo, mentre<br />

IIdentity ha la proprietà Name, con cui si può risalire al nome utente, e quella<br />

IsAuthenticated, che stabilisce se l’utente è stato autenticato o meno.<br />

Figura 28 Interfaccia IIdentity<br />

Figura 29 Interfaccia IPrincipal<br />

72

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

Saved successfully!

Ooh no, something went wrong!