Я добавил elmah в приложение asp.net mvc 4. Logging работает, и теперь я пытаюсь настроить безопасность, но elmah не подбирает настройки, и журналы остаются видимыми для всех пользователей.
Это приложение для интрасети, и поэтому мы используем встроенные secuirty. Я пытаюсь ограничить доступ, чтобы только члены группы объявлений \log_readers домена могли читать журналы.
Я читал руководство по настройке здесь: http://code.google.com/p/elmah/wiki/SecuringErrorLogPages, и я также прочитал несколько сообщений о SO и других формамах, которые привели мне добавить конфигурацию roleManager и WindowsRoleProvider, все безрезультатно.
Вот части elmah моего 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>
Я также попробовал полную блокировку, установив конфигурацию авторизации для отказа всем
<authorization>
<deny users="*" />
</authorization>
а также
<authorization>
<deny users="?" />
</authorization>
Журналы остаются открытыми для всех.
Я подозреваю, что проблема может быть в этом месте. Я не внес изменений в расположение elmah. Доступ к нему осуществляется по умолчанию (http://server/myapp/elmah)