2011-07-21 60 views

回答

23

有兩種設定,一種是在<elmah>

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

另一種是,如果允許REM OTE訪問,您可以使用<location>控制誰訪問它:

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

你可以只後,把這個主要的web.config你</runtime>標籤

+0

我希望這個信息可以節省一些人幾分鐘:在標籤應放在[右下<結構>](http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx)。對於我來說,我把它之後 –

+0

我總是把我的右倒在底部,正如我上面提到的''標記之前。這給了我一個尋找這些訪問控制標籤的地方(我通常會爲該網站的管理員區域以及任何其他受保護的系統提供一個)。無論如何,感謝您的反饋,希望您的意見能夠幫助人們在遇到錯誤之前內化所說的內容。 – rtpHarry

2

你可以在你的web.config確保這一(如果你確實想要訪問的任何人在生產現場) 參見: How to secure Elmah.axd?

顯然改變你<允許用戶= .... >到適當的值

2

我知道這是一個有點晚,但對於未來除了通過allowRemoteAccess開放訪問之外,還有更多的參考資料。幾個月前,我寫這篇博客文章ELMAH security and allowRemoteAccess explained的時候,我真的得到了ELMAH的保護。

我不認爲任何對這個問題的答案是錯誤的,但也有更多的選擇,這取決於所使用的技術。如果運行ASP.NET,通過authorization元素進行保護絕對是一種方式。不過,現在很多人都在使用MVC。亞歷山大貝列茨基寫了一個名爲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>