Dot-Net

如何限制對 Elmah 的遠端訪問?

  • December 15, 2016

在我們的開發網路伺服器上安裝 Elmah .. 我們可以限制誰遠端訪問它嗎?即使我們硬編碼使用者名/密碼(散列?)還是僅通過 IP?

有兩種設置,一種在<elmah>

<elmah>
   <security allowRemoteAccess="1"/>
</elmah>

另一個是,如果您允許遠端訪問,您可以使用<location>來控制誰訪問它:

 <location path="elmah.axd">
   <system.web>
     <authorization>
       <allow roles="Administrator"/>
       <deny users="*"/>
     </authorization>
   </system.web>
 </location>

您可以在</runtime>標記後將其放在主 web.config 中

我知道這有點晚了,但為了將來參考,它不僅僅是通過allowRemoteAccess. 幾個月前,我在寫這篇博文 ELMAH 安全性和 allowRemoteAccess時對保護 ELMAH 非常了解。

我不認為這個問題的任何答案都是錯誤的,但是根據所使用的技術,還有更多可用的選項。如果執行 ASP.NET,通過authorization元素保護絕對是要走的路。不過,現在很多人都在執行 MVC。Alexander Beletsky 編寫了一個名為Elmah.MVC的優秀包。使用這個包,使用 MVC 中的 ELMAH 的所有問題都將迎刃而解。使用該軟體包時,保護 ELMAH 也很容易,使用如下的一些自定義應用程序設置:

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

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