Durante gli ultimi sviluppi ho deciso di utilizzare, per comodità più che altro per la navigazione e il binding di controlli che prevedono il Security trimming quali menu con SiteMap, i membership e role provider di Asp.Net.

Avevo tutto pronto (Nhibernate mi ha aperto gli occhi sulla facilità di gestire, recuperare e maneggiare informazioni),  mi sono detto, perché no, mi scrivo i miei bei provider che per la security del sito utilizzano i dati presenti nelle mie tabelle (presenti da tempo immemore e quindi difficilmente sarei riuscito a convincere il cliente ad abbandonare le vecchie strutture dati per proporre quelle utilizzate dai provider Sql per i Roles e i Membership).

Detto fatto, mezza giornata, non di più, di scrittura di codice, interventi minimi sulle tabelle DB (aggiunta delle colonne PasswordSalt e Password, visto che precedentemente esisteva una sola colonna con la password in chiaro) e in men che non si dica funziona tutto !

Devo dire che è stato un lavoro molto interessante, è la prima volta che scrivo un "mio" provider, ho sempre utilizzato quanto mi sono sempre trovato tra le mani e adattato piuttosto le strutture dati al codice e non viceversa (pensavo ci si metteste molto di più).

Il risultato è notevole, adesso ho il mio bel provider per le membership e per i ruoli che utilizza NH per l'accesso alle informazioni di cui ha bisogno.

Se avete un dubbio sul farlo o meno ... fatelo !!!

Technorati Tags: ,