Ich habe Elmah zu einer asp.net mvc 4-Anwendung hinzugefügt. Logging funktioniert und jetzt versuche ich die Sicherheit zu konfigurieren, aber elmah nimmt die Einstellungen nicht auf und die Logs bleiben für alle Benutzer sichtbar.Wie sichere ich Elmah auf ASP.Net MVC 4 mit Windows Integrated Security: Elmah ignoriert meine Einstellungen
Dies ist eine Intranet-App und als solche verwenden wir Windows integrierte secuirty. Ich versuche, den Zugriff zu beschränken, sodass nur Mitglieder der Anzeigengruppe "Domäne \ log_Reader" die Protokolle lesen können.
Ich habe die Setup-Anleitung hier gelesen: http://code.google.com/p/elmah/wiki/SecuringErrorLogPages und ich habe auch mehrere Beiträge auf SO und anderen Formularen gelesen, die mich dazu geführt hat, die Konfiguration von roleManager und WindowsRoleProvider hinzuzufügen, alles ohne Erfolg.
Hier sind die Elmah Teile meiner 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>
ich auch eine komplette Sperre nach unten versucht haben, durch meine autorisation Config Einstellung jeder zu leugnen
<authorization>
<deny users="*" />
</authorization>
und auch
<authorization>
<deny users="?" />
</authorization>
Die Protokolle bleiben für alle offen.
Ich vermute, dass das Problem mit dem Standort sein kann. Ich habe keine Änderungen am Elmah-Standort vorgenommen. Es wird vom Standardstandort aus zugegriffen (http://server/myapp/elmah)
ich elmah.mvc installiert haben werde ich versuchen. Sind diese Einstellungen zusätzlich oder anstelle derer, die ich bereits eingerichtet habe? – Twisted
Wenn Sie Elmah.Mvc über nugget installiert haben, sollte das obige automatisch zu Ihrer web.config hinzugefügt werden. Die obigen Einstellungen sind nicht die, die Sie bereits konfiguriert haben. –
Arbeitete ein Leckerbissen, danke – Twisted