Как скрыть подробности сообщений об ошибках для обычных пользователей DNN

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

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

Как мне это сделать?

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

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

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

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


person thames    schedule 15.06.2010    source источник


Ответы (1)


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

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

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

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

person mika    schedule 16.06.2010
comment
У меня установлен флажок Использовать пользовательские сообщения об ошибках. В котором отображается сообщение об ошибке, например Произошла критическая ошибка. /r/n Ссылка на объект не указывает на экземпляр объекта. Я хочу, чтобы просто произошла критическая ошибка. Я не хочу, чтобы ссылка на объект не была установлена ​​​​на экземпляр объекта. для отображения обычным пользователям. - person thames; 16.06.2010