Я думаю, что, возможно, испортил мои контроллеры. У меня довольно простой сайт, который позволяет пользователям типа «Персонал» или «Клиент» просматривать проекты. Сотрудники имеют доступ ко всем проектам, могут добавлять и удалять их, добавлять и удалять пользователей, назначать клиентам разрешения для проектов и т. Д.
В нынешнем виде это означает, что у меня есть UserController и ProjectController, заваленные атрибутами аутентификации (т. Е. Клиент может изменить свою электронную почту, но ничего другого, как разрешения, а клиенты не могут добавлять / удалять / редактировать проекты, но могут просматривать свои содержание).
А также, исходя из типа / роли пользователя, я отключаю компоненты меню. Должен ли я разделять свои контроллеры, чтобы иметь более узкий фокус, или это кандидат на Области? Я «чувствую», что большая часть моего кода проверяет, может ли пользователь X выполнять действие Y, основываясь как на своей роли, так и на явных разрешениях для каждого проекта.
PS. Я переписал тему несколько раз, пытаясь сделать ее короче: \