Что все делают для обеспечения безопасности (извлечения и изменения) отдельных записей в приложении ASP.NET MVC? Это приложение имеет уровень обслуживания / бизнеса и уровень доступа к данным, которые полностью отделены от пользовательского веб-интерфейса. Я уже использую поставщиков членства и ролей для обработки аутентификации и авторизации для определенных областей / функций в моем приложении, но теперь мне нужно защитить отдельные записи.
Например, скажем, Боб может создавать и редактировать свои собственные записи FooBar. Я хочу убедиться, что другие пользователи не могут просматривать или редактировать записи Боба. Я хочу защитить себя от манипуляций с URL-адресами и / или ошибок программирования. Мы также можем позволить Бобу делиться своими FooBars с другими пользователями, позволяя им просматривать, но не редактировать его записи.
Я придумал несколько подходов:
Я делал безопасность на уровне доступа к данным (в запросах) в предыдущих проектах, и это всегда превращается в беспорядок. Я хотел бы знать, что делают все остальные, и какие фреймворки вы используете, чтобы помочь вам (фреймворки AOP).