Reputation: 1410
I have included elmah.mvc into an Asp.Net MVC application for logging exceptions and custom error logs. It is working fully as intended and I can view the logs within my ELMAH_Error table using a SQL Server, and as well from the web interface through local host URL(http://localhost:20086/elmah).
My question is: How, if possible, can I view my logs through the web interface on a live site and not "http://localhost:20086/elmah". I want to be able to view the Logging information when necessary from any computer. I have implemented Roles and Authentication, so I should be able to go to the correct URL, login with the appropriate credentials, then view the logs.... right? Is this possible??
Upvotes: 1
Views: 7683
Reputation: 5239
No problem. You can use ASP.NET authentication to secure your logs. Basically you want something like this:
<location path="elmah.axd">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD"
path="elmah.axd"
type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<authorization>
<allow roles="admin" />
<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>
There's some more details in this ELMAH Tutorial.
It looks like you're using the Elmah.MVC package. With this package you have another option:
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="admin" />
Upvotes: 3