Я не согласен с идеей, что (2) противоречит идее представления. Рендеринг или не рендеринг конкретного компонента представления, зависящего от данных, полученных от контроллера, кажется мне совершенно подходящим. Я думаю, от того, насколько вы хотите быть педантичным, зависит, хотите ли вы, чтобы данные были в модели или их можно было использовать из других ресурсов сервера. Я предпочитаю быть прагматичным и просто использовать то, что предоставляется, а не создавать новую модель для хранения информации, связанной с ролями, поэтому в некоторых обстоятельствах (свяжите мой элемент управления меню) я просто выполняю проверку роли в логике представления.
Важно помнить, что MVC - это шаблон, а не изречение. Там, где шаблон работает против вас, можно немного согнуть его. Аналогично, СУХОЙ - это принцип, а не закон. Если кажется, что лучше повторить небольшой код, чтобы лучше выполнить задачу, продолжайте и повторите это. Поймите, что вы создаете проблемы с обслуживанием для себя, но не позволяйте строгой приверженности принципу удерживать вас от "правильных действий".