Прошу прощения за мой английский.ASP.NET - кеширование пользовательских привилегий
В моем приложении ASP.NET MVC у меня есть пользователи, которые контролируются членами ASP.NET и группами пользователей, которые хранятся в базе данных с помощью моей бизнес-логики. Кроме того, я реализовал архитектуру ACL (список контроля доступа) для управления доступом пользователей к объектам в моем приложении, поэтому у меня есть несколько записей (хранимых в таблице DB) структуры User-Object-Privilegy-Value.
Чтобы гарантировать, что у пользователя есть доступ к определенному объекту (или объекту), мне нужно постоянно создавать иерархию всех групп, в которых пользователь является участником, и найти все привилегии для этих субъектов.
В целях оптимизации мне нужно кэшировать эту информацию в кеше приложения, но мне также необходимо контролировать, изменился ли какой-либо пользователь, группа пользователей или привилегия, чтобы аннулировать эти кэшированные записи.
Я мог бы реализовать его некоторыми способами, но я хотел бы знать лучший способ.
Был ли у кого-то такой же опыт? Какое лучшее решение для кеширования пользовательских привилегий?