Asp.net-Mvc-4

Elmah.MVC 2.0.1 - 保護 elmah 日誌

  • November 21, 2013

設置:

對於 ASP.NET MVC 4 應用程序,我使用 Elmah.MVC 2.0.1 來記錄錯誤。

我使用 NuGet 安裝了 Elmah.MVC。它工作正常。

問題:

Elmah.MVC 包沒有安裝控制器或區域,所以我看不到通過 Authorize 屬性應用安全性的明顯方法,正如 ASP.NET MVC 所推薦的那樣。

問題:

我只希望管理員角色的使用者能夠查看 Elmah 頁面。

我該怎麼做呢?

哎喲!

剛剛找到答案;

Elmah MVC 2.0.1 NuGet 包將以下內容添加到<appSettings>(在 web.config 中):

<add key="elmah.mvc.requiresAuthentication" value="false" />
<add key="elmah.mvc.allowedRoles" value="*" />

為了實現我想要的簡單:

<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="Admin" />

我相信你也可以像這樣使用 URL 訪問控制:

   <location path="elmah.axd">
 <system.web>
   <httpHandlers>
     &lt;add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /&gt;
   &lt;/httpHandlers&gt;
   &lt;authorization&gt;
     &lt;allow roles="YourRole" /&gt;
     &lt;deny users="*" /&gt;
   &lt;/authorization&gt;
 &lt;/system.web&gt;
 &lt;system.webServer&gt;
   &lt;handlers&gt;
     &lt;add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /&gt;
   &lt;/handlers&gt;
 &lt;/system.webServer&gt;
&lt;/location&gt;

引用自:https://stackoverflow.com/questions/13090213