Как подавить детали сообщения об ошибке для общих пользователей DNN - PullRequest
1 голос
/ 16 июня 2010

У меня есть сайт DNN (05.02.03), который находится в стадии тестирования и близок к выпуску в производство, и я хотел бы скрыть детали сообщений об ошибках (т. Е. Исключение нулевой ссылки и другие) для обычных пользователей (администраторы все еще могут видеть детали).Отладка отключена в web.config.

Под подавлением я имею в виду единственное сообщение об ошибке, которое я хочу показать обычному пользователю (всем пользователям), что-то вроде «Возникло исключение».Я не хочу, чтобы детали этого исключения отображались обычному пользователю.Я по-прежнему хочу, чтобы он регистрировался более подробно в Event Viewer.

Как мне поступить?

Обновление: у меня установлен флажок "Использовать пользовательские сообщения об ошибках".Которое показывает сообщение об ошибке вроде:

Произошла критическая ошибка. [VbCrLf] Ссылка на объект не установлена ​​на экземпляр объекта.

Я хочу только " Произошла критическая ошибка."сообщение об ошибке будет отображаться для обычных пользователей.

Я не хочу, чтобы ссылка" Object не была установлена ​​на экземпляр объекта."для отображения обычным пользователям

1 Ответ

0 голосов
/ 16 июня 2010

В настройках хоста должен быть установлен флажок «Использовать пользовательские сообщения об ошибках».

Если установлен флажок UseCustomErrorMessages, ProcessModuleLoadException будет вести себя почти так, как вы указали. Он будет регистрировать сообщения в EventLog и покажет дружественное сообщение об ошибке без подробностей исключения. Тексты заголовков сообщений находятся в SharedResources.resx.

Однако в пользовательских сообщениях об ошибках DNN используется objUserInfo.IsSuperUser, чтобы проверить, является ли пользователь учетной записью хоста. Пользователи в роли администраторов будут вести себя как обычные пользователи.

Небольшое предостережение: я проверил это из источников DNN 4.9.5, вы должны перепроверить из своих.

...