Один из фильтров в приложении, которое я разрабатываю, проверяет, есть ли у пользователя элемент, который он пытается изменить. Действие оформлено атрибутом [RequiresOwnership]
, и внутри логики атрибута я проверяю, есть ли у пользователя элемент, а если нет, я выбрасываю UnauthorizedAccessException
.
У меня такой вопрос: где я могу поймать это исключение? В идеале я хотел бы перенаправить пользователя на страницу, объясняющую, почему то, что он пытался сделать, не позволили, вместо того, чтобы просто показать страницу исключения. Я не думаю, что поймал бы исключение внутри действия, которое оформлено атрибутом, так есть ли какая-то базовая часть приложения, где я могу обрабатывать исключения, выдвинутые выше, в модели .NET MVC?
РЕДАКТИРОВАТЬ: я понимаю, что я мог бы просто перенаправить на страницу через сам фильтр, но это кажется мне немного хакерским. Было бы неплохо бросать исключения через атрибуты и иметь одно стандартное место, где их можно ловить и обрабатывать.