Dot-Net
如何限制對 Elmah 的遠端訪問?
在我們的開發網路伺服器上安裝 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>