На самом деле я думаю, что это не очень хорошее поведение для приложения. Я думаю, что вы должны отключить (или скрыть) любые действия, которые пользователь не может выполнить. В случае, когда пользователь вручную вводит URL-адрес или использует закладку с момента, когда у него были привилегии, вместо сообщения об ошибке перенаправьте на страницу входа.
Представьте, что вы - пользователь, который вошел в ваше приложение. Вы нажимаете на элемент пользовательского интерфейса, и похоже, что вы вышли из системы. У вас нет возможности узнать, что вы не должны его использовать. Отключение / скрытие элемента предотвращает возникновение этого сценария для большинства пользователей. Перенаправление на ошибку дает пользователю ценную информацию о том, почему предпринятые ими действия не дали ожидаемого результата.
Я использую пользовательский атрибут, полученный из AuthorizeAttribute, для достижения этого эффекта. Если пользователь не вошел в систему, он перенаправляется на страницу входа. Если они вошли в систему, но недостаточно привилегированы, отобразится подходящее представление об ошибке.