- Prima Parte: Creazione del Database
- Seconda Parte: Pannello di Amministrazione
- Terza Parte: Visualizzare i Post
Nell’intervento precedente ho trattato la creazione del database che utilizzeremo per memorizzare gli interventi del blog. Vedremo ora come realizzare la pagina di amministrazione, che consentirà all’autore di inserire gli interventi e le rispettive categorie.
Il login verrà gestito attraverso un Membership Provider specifico per SQLite.
Clicca qui per scaricare il progetto realizzato fino a questo punto!
Aggiunta dei file per Membership e Roles Provider
Le classi necessarie alla gestione dell’autenticazione sono MSQLiteRoleProvider.cs e MSQLiteMembershipProvider.cs e si trovano all’interno del progetto di esempio disponibile per il download in questa stessa pagina, oppure possono essere scaricate da qui.
Il files vanno posizionati nella cartella App_Code del sito. Per maggiori informazioni: Membership & Role Provider per database SQLite
Il file Web.config
Prima di iniziare la vera e propria costruzione della pagina di amministrazione, è necessario specificare alcune impostazioni nel file di configurazione. In particolare dobbiamo:
- Aggiungere una stringa di connessione al database:
<connectionStrings> <add connectionString="Data Source=|DataDirectory|blog.db;" name="ExampleBlogConnString" providerName="System.Data.SQLite"/> </connectionStrings>Notate l’uso della parola chiave
|DataDirectory|, che indica il percorso alla cartella App_Data del sito. - Forzare il login basato su Forms:
<authentication mode="Forms"/>
- Impostare i providers di autenticazione:
<membership defaultProvider="MSQLiteMembershipProvider" userIsOnlineTimeWindow="30"> <providers> <clear/> <add name="MSQLiteMembershipProvider" type="Minifloppy.it.Providers.MSQLiteMembershipProvider" connectionStringName="ExampleBlogConnString" applicationName="ExampleBlog" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" writeExceptionsToEventLog="true"/> </providers> </membership> <roleManager defaultProvider="MSQLiteRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All"> <providers> <clear/> <add name="MSQLiteRoleProvider" type="Minifloppy.it.Providers.MSQLiteRoleProvider" connectionStringName="ExampleBlogConnString" applicationName="ExampleBlog" writeExceptionsToEventLog="true" /> </providers> </roleManager>