2013-01-07 54 views
3

我使用Elmah(錯誤記錄模塊和處理程序)與Asp.net Web窗體應用程序。 我已啓用Elmah進行遠程訪問。密碼保護Elmah而Web應用程序匿名訪問

Elmah是否可以像Windows認證一樣密碼保護,保持Web表單應用程序匿名訪問?

+0

您是否實施了角色?此外,你會想要快速鎖定這個。 Elmah錯誤可能會暴露有關您的網站如何工作的敏感細節。 – MikeSmithDev

+0

@MikeSmithDev,不,還沒有實現角色,也不想使用.net會員提供商,因爲Web應用程序可以通過默認的Windows身份驗證(這是Web項目的默認設置)進行匿名訪問。 – Nexus23

回答

1

你可以在你的web.config中添加允許用戶安全ELMAH:

<location path="elmah.axd" inheritInChildApplications="false"> 
    <system.web> 
     <authorization> 
     <allow users="YOUR-WINDOWS-USERNAME" /> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 

    ...other config settings 
</location> 

假設你正在使用Windows身份驗證

<authentication mode="Windows"> 
1

以下解決方案正在爲窗口中的 「角色」。但直接訪問用戶不起作用。

<location path="admin" > 
    <system.web> 
     <httpHandlers> 
     <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 
     </httpHandlers> 
     <authorization> 
     <allow roles="WindowsGroupName" /> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

注意:ELMAH也通過根/管理/ elmah.axd服務由Phil Haack的指示擔保。

+0

在我的示例中,除了用戶名之外,可能還需要域名,例如在DOMAIN \ USERNAME – MikeSmithDev

+1

@MikeSmithDev中,我嘗試過在同一個域中生活,但不確定Elmah是否被設計爲與用戶一起工作。你有沒有在互聯網上找到任何資源,或者曾經嘗試過具體的解決方案?我已經看到Elmah被解釋爲允許遠程訪問的任何角色。 – Nexus23

+0

我在本地進行了測試,它工作正常。儘管在我的活服務器上使用角色(而不是Windows身份驗證),並且我沒有進行實時測試。看到你的角色,你有我的+1。 – MikeSmithDev