Ho aggiunto elmah a un'applicazione asp.net mvc 4. La registrazione sta funzionando e ora sto cercando di configurare la sicurezza, ma elmah non sta rilevando le impostazioni e i registri rimangono visibili da tutti gli utenti.Come proteggere Elmah su ASP.Net MVC 4 con Sicurezza integrata di Windows: Elmah ignora le mie impostazioni
Questa è un'app intranet e come tale stiamo usando Windows integrato secuirty. Sto tentando di limitare l'accesso in modo che solo i membri del gruppo di annunci dominio \ log_readers possano leggere i log.
Ho letto la guida di installazione qui: http://code.google.com/p/elmah/wiki/SecuringErrorLogPages e ho anche letto diversi post su SO e altri formati che mi hanno portato ad aggiungere la configurazione roleManager e WindowsRoleProvider, tutto senza alcun risultato.
Ecco le parti ELMAH del mio web.config:
<elmah>
<!--
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
more information on remote access and securing ELMAH.
-->
<security allowRemoteAccess="true" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/Logs" />
</elmah>
<location path="elmah.axd" inheritInChildApplications="false">
<system.web>
<authentication mode="Windows" />
<roleManager defaultProvider="WindowsProvider"
enabled="true" cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<!--
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
more information on using ASP.NET authorization securing ELMAH.
-->
<authorization>
<allow roles="domain\log_readers"/>
<deny users="*" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>
Ho anche provato un blocco completo verso il basso impostando il mio autorisation config di negare tutti
<authorization>
<deny users="*" />
</authorization>
e anche
<authorization>
<deny users="?" />
</authorization>
I registri rimangono aperti a tutti.
Sospetto che il problema potrebbe riguardare la posizione. Non ho apportato modifiche alla posizione di elmah. È accessibile dal percorso predefinito (http://server/myapp/elmah)
ho elmah.mvc installato Darò che una prova. Sono queste impostazioni in aggiunta o al posto di quelle che ho già impostato – Twisted
Se hai installato Elmah.Mvc tramite il nuget, dovrebbe aver aggiunto automaticamente quello sopra al tuo web.config. Le impostazioni sopra sono al posto di quelle che hai già configurato. –
Ha funzionato, grazie – Twisted