2010-06-15 26 views
0

我有一個DNN網站(05.02.03)在測試和即將發佈到生產環境中,我想禁止錯誤消息的詳細信息(即空引用異常等)給普通用戶(管理員仍然可以看到詳細信息)。調試在web.config中關閉。如何向一般DNN用戶壓制錯誤消息詳細信息

通過抑制,我的意思是我想向普通用戶(所有用戶)顯示的唯一錯誤消息就像「發生了異常」一樣。我不希望將該異常的細節顯示給一般用戶。我仍然希望它在事件查看器中更詳細地記錄。

我該怎麼做呢?

更新:我有「使用自定義錯誤消息」選中。其中顯示如下錯誤消息:

發生嚴重錯誤。[vbCrLf]未將對象引用設置爲對象的實例。

我只想要「出現嚴重錯誤。」「錯誤消息要顯示給一般用戶。

我不希望「對象referece不設置到對象的實例。」顯示給一般用戶

回答

0

你應該有「使用自定義錯誤消息」,在主機設置檢查。

如果選中UseCustomErrorMessages,則ProcessModuleLoadException的行爲幾乎與您指定的相同。它會將消息記錄到EventLog,並且會顯示友好的錯誤消息,而不會有例外情況。消息標題文本位於SharedResources.resx中。

但是,DNN自定義錯誤消息使用objUserInfo.IsSuperUser來檢查用戶是否是主機帳戶。管理員角色中的用戶將表現得像普通用戶一樣。

有一點需要注意:我從DNN 4.9.5源碼中檢查了這些,你應該仔細檢查你的。

+0

我有「使用自定義錯誤消息」選中。其中顯示錯誤消息,如「發生嚴重錯誤./r/n對象引用未設置爲對象的實例。」我只想要「發生嚴重錯誤」。我不希望「對象引用未設置爲對象的實例」。以向一般用戶顯示。 – thames 2010-06-16 18:45:25