У меня есть приложение asp.net mvc, в котором реализовано членство.
Таким образом, пользователь должен войти в систему. Каждый пользователь принадлежит организации (многопользовательская).
Как бы я обработал глобальный параметр организации? Я думал, что это может быть хорошей вещью для глобального фильтра, потому что все данные должны быть отфильтрованы для данной организации. И организация связана с именем пользователя, но не в той же таблице.
например, у меня есть действие индекса как это
public ActionResult Index()
{
var result = _repository.GetListByOrganisation(organisation);
return View(result);
}
Я думал о наличии глобального атрибута, который запрашивает базу данных для организации на основе заданного имени пользователя. Поскольку мой контроллер уже содержит атрибут authorize, у меня есть имя пользователя. Было бы неплохо кэшировать организацию (сеанс, controllercontext) и не запрашивать организацию из базы данных при каждом запросе.
Это способ реализовать что-то подобное? Или есть другие способы, которые были бы лучше? И как я могу установить свойство для контроллера / контроллера контекста из фильтра?
Так что любые мысли по этому поводу, а также комментарии были бы великолепны ...