Как справиться, значительные функциональные различия между пользователем вводит в ASP.NET MVC2

Я думаю, что, возможно, сделал путаницу своих контроллеров. У меня есть довольно простой сайт, который разрешает пользователям типа "Штат" или "Клиент" к представлению Projects. Сотрудники имеют доступ ко всем проектам, могут добавить и удалить их, добавить и удалить пользователей, присвоить клиентское разрешение проектам, и т.д.

Как есть это означает, что у меня есть UserController и ProjectController, замусоренный атрибутами Аутентификации (т.е. таким образом, Клиент может изменить свою электронную почту, но ничто иное как полномочия и Клиенты не может добавлять/удалять/редактировать проекты, но может просмотреть их содержание).

И также, на основе пользовательского типа/роли, я выключаю компоненты меню. Я должен разделять свои контроллеры, чтобы иметь более узкий фокус, или действительно ли это - кандидат на области? Я "чувствую", любят к большой части моего кода, проверяет, может ли пользователь X сделать действие Y и на основе его роли И НА ОСНОВЕ явных полномочий на проект.

PS. Я, несколько раз переписывал предмет пытаясь сделать его короче:\

1
задан George R 14 August 2010 в 07:10
поделиться

1 ответ

Рассматривали ли вы возможность разделения контроллеров следующим образом:

  • ClientUserController

  • ClientProjectController

  • StaffUserController

  • StaffProjectController

Такое разделение позволит вам легко иметь специализированные контроллеры и представления для каждого типа пользователей. Используйте единый атрибут Authentication в верхней части каждого контроллера "Staff" для защиты доступа.

Настроив соответствующие маршруты, вы можете создать дружественные URL для каждого типа контроллера: например,

  • /User/Edit (показывает все детали пользователя, но позволяет редактировать только поле Email)
  • Staff/User/Edit (Позволяет редактировать все поля пользователя)
-12]-12 (Позволяет редактировать все поля пользователя). поля пользователя)
2
ответ дан 2 September 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: