BlogEngine.NET sfrutta un sistema a provider per tutte le funzionalità che devono effettuare l'accesso ai dati, e questo permette un'estrema flessibilità all'applicazione, permettendo di modificare la base dati variando alcune congigurazioni nel web.config.
L'applicazione scaricata è di default configurata per utilizzare i file XML come base dati. Questi file sono contenuti all'interno della cartella App_Data
File | Descrizione |
---|---|
users.xml | Elenco degli utenti che potranno accedere all'area amministrativa per gestire il blog, o per scrivere/editare i post. |
roles.xml | Elenco dei ruoli da poter applicare agli utenti del blog. |
settings.xml | Contiente le impostazioni del blog, impostate dall'area amministrativa. |
categories.xml | Conterrà l'elenco delle categorie a cui potranno essere associati i post. |
pingservices.xml | Elenco dei siti che verranno pingati alla creazione o modifica di un nuovo post. |
blogroll.xml | File contenente l'elenco di blog e siti esterni che verranno visualizzati come link nel blog. |
sempre all'interno della cartella App_Data
verranno salvati anche i post e le pagine create, sotto forma di file (un file per post, e un file per pagina) posti in specifiche sottocartelle Posts e Pages.
Per poter scrivere questi file, si dovranno concedere i permessi di scrittura nella cartella App_Data
, all'utente che esegue l'applicazione (solitamente "ASPNET", oppure "Network Service"), dall'amministrazione di IIS. Per questione di sicurezza, è importante attribuire tali permessi solamente alla cartella App_Data
e non a tutto il sito. Tipicamente gli account di shared hosting prevedono già l'applicazione di questi diritti.
Dobbiamo anche verifichiamo che i file non siano in sola lettura, in tal caso, modifichiamo la proprietà in modo che possano essere anche scritti.
Infine verifichiamo le impostazioni del web.config
, controllando che il valore di defaultProvider
nelle varie sezioni sia correttamente valorizzato per utilizzare i provider XML. Per default, l'applicazione è già configurata per l'utilizzo con file XML, quindi si tratta di una semplice verifica.
Tipo provider | DefaultProvider |
---|---|
BlogEngine | XmlBlogProvider |
membership | XmlMembershipProvider |
roleManager | XmlRoleProvider |
Per il provider dell'engine di blog, specifichiamo come defaultProvider
il valore XmlBlogProvider
.
<blogProvider defaultProvider="XmlBlogProvider">
<providers>
<add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
<add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine" />
</providers>
</blogProvider>
Il provider delle membership, che fornisce i metodi per la gestione degli utenti, utilizza XmlMembershipProvider
<membership defaultProvider="XmlMembershipProvider">
<providers>
<clear/>
<add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" passwordFormat="Hashed"/>
<add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
<add name="DbMembershipProvider" type="BlogEngine.Core.Providers.DbMembershipProvider, BlogEngine.Core" passwordFormat="Hashed" connectionStringName="BlogEngine"/>
</providers>
</membership>
Per il provider per la gestione dei ruoli, impostiamo XmlRoleProvider
<roleManager defaultProvider="XmlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".BLOGENGINEROLES">
<providers>
<clear/>
<add name="XmlRoleProvider" type="BlogEngine.Core.Providers.XmlRoleProvider, BlogEngine.Core" description="XML role provider"/>
<add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/>
<add name="DbRoleProvider" type="BlogEngine.Core.Providers.DbRoleProvider, BlogEngine.Core" connectionStringName="BlogEngine"/>
</providers>
</roleManager>
Siamo giunti al momento di avviare il browser e richiamare l'URL del nostro blog. Per accedere all'area di amministrazione si dovrà cliccare sul pulsante Login
e digitare le credenziali, che per una nuova installazione sono:
username: Admin password: Admin